如何构建包含另一个数组的json数组?

zc0qhyus  于 2021-10-10  发布在  Java
关注(0)|答案(1)|浏览(283)

此问题已在此处找到答案

对象和数组的复杂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 }]}
bvhaajcl

bvhaajcl1#

如果您想在json内部使用数组,json也是一个对象。以下是正确的格式

$response = '{ "hello": "world", "test": [ {"1": "A"}, {"2": "B"} ] }';

相关问题