来自JSON 网站:
JSON 建立在两种结构之上:
- 名称/值对的集合。在各种语言中,这被实现为对象、记录、结构、字典、哈希表、键控列表或关联数组。
- 值的有序列表。在大多数语言中,这被实现为数组、向量、列表或序列。
现在我有一个返回布尔值的示例服务(这是在 PHP 中,但它可以是任何服务器端语言):
<?php
header('Content-Type: application/json');
echo 'true';
exit;
当使用 ajax 请求此页面时(例如使用 jQuery):
$.ajax({
url: 'service.php',
dataType: 'json',
success: function (data) {
console.log(data);
console.log(typeof data);
}
});
结果将是:
-> true
-> boolean
我的问题是为什么允许将布尔值作为 JSON 返回。它与JSON定义没有冲突吗?
还
我也可以在我的服务中返回数字或字符串:
<?php
header('Content-Type: application/json');
echo '2013';
exit;
结果是:
-> 2013
-> number
对于字符串:
<?php
header('Content-Type: application/json');
echo '"What is going on?"';
exit;
结果是:
-> What is going on?
-> string