此问题已在此处找到答案:
对象和数组的复杂json嵌套(5个答案)
从php脚本返回json对象(3个答案)
昨天关门了。
在任何人决定关闭此文件之前,请阅读问题本身
我有一个php脚本,我手动为我的js构建了一个json响应,由于某些原因,我无法。。。好吧,这样做:
$response = '{ "hello": "world", "test": [ "1": "A", "2": "B" ] }';
现在,在有人做一些小改动并宣布结束之前,我尝试了以下几种方法:
$response = '{ "hello": "world", "test": { "1": "A", "2": "B" } }';
$response = '{ "hello": "world", "test": [{ "1": "A", "2": "B" }] }';
…它们都不起作用。当响应(在js中)通过json.parse()时,js会立即报告一个错误,它说: Uncaught SyntaxError: Unexpected string in JSON at position 99
. 我真的不确定到底发生了什么,我查看了多个与json数组相关的主题、帖子和问题,但似乎什么都不起作用,有什么解决方案吗?
请不要删除它,毕竟stackoverflow旨在帮助那些在解决自身问题方面有困难的人。
实际代码:
echo '{';
echo '"username": "' . $example["name"] . '",';
echo '"level": ' . $example["expLevel"] . ',';
if(!empty($example["badges"])) {
echo '"badges": { ';
foreach($response["badges"] as $key => $item) {
if($key === array_key_last($response["badges"])) {
echo '"' . $item["name"] . '": ' . $item["progress"] . '';
}else{
echo '"' . $item["name"] . '": ' . $item["progress"] . ', ';
}
}
echo ' }';
}
echo "}";
实际答复:
{"username": "Tester","level": 11, "badges": [{ "1Year": 1419, "2Years": 1419, "3Years": 1419 }]}
1条答案
按热度按时间bvhaajcl1#
如果您想在json内部使用数组,json也是一个对象。以下是正确的格式