使用可能的字典从PHP数组创建JSON字符串

时间:2016-01-27 20:18:49

标签: php arrays json

我正在尝试构建一个类似于此的JSON字符串:

{
    "Token": "MyREALLYLongToken",
    "rpc": [
        ["Somthing", "v", "v", ["text", ["s", "123456"]]],
        ["Somthing", "v", "v", ["text", ["i", "6"]]]
    ],
    "MoreText": 7
}

我知道RPC密钥值看起来像包含两个数组。但我的问题是:如何创建方括号成员?那些阵列?字典?这些是如何创建的?

$data = array(
"Token" => "MyREALLYLongToken",
"rpc" => array(
                array(//WHAT HERE?),
                array(//WHAT HERE?)

                ),
"MoreText" => "7"

    );

2 个答案:

答案 0 :(得分:3)

您需要在数组中创建数组,如下所示:

$data = array(
"Token" => "MyREALLYLongToken",
"rpc" => array(
    array("Somthing", "v", "v", array("text", array("s", "123456"))),
    array("Somthing", "v", "v", array("text", array("i", "6")))
    ),
"MoreText" => "7"
);

echo json_encode($data);

输出:

{
    "Token": "MyREALLYLongToken",
    "rpc": [
        ["Somthing", "v", "v", ["text", ["s", "123456"]]],
        ["Somthing", "v", "v", ["text", ["i", "6"]]]
    ],
    "MoreText": "7"
}

答案 1 :(得分:0)

试试这个:

$array = array(
        "token" => "MyREALLYLongToken",
        "rpc" => array(
                        array("somthing", "v", "v", array("text", array("s", "123456"))),
                        array("somthing", "v", "v", array("text", array("i", "6")))
                    ),
        "moretext" => "7"
        );
    echo json_encode($array);

结果是

{"token":"MyREALLYLongToken","rpc":[["somthing","v","v",["text",["s","123456"]]],["somthing","v","v",["text",["i","6"]]]],"moretext":"7"}