PHP)如何使JSON多个数组?

时间:2018-09-17 06:03:56

标签: php arrays json

我是json和php的新手,
我试图将数组编码为JSON对象。

我尝试了以下JSON数组:

<?php
    $requestJson = json_encode([
        'orderNumber'=> "502763-20171027-00006701",
        'PackageModelList'=>
        [
          (
            "basketId": 10666496,
            "SenderModel": 
            (
              "phoneNumber": "5678"
            ),
            "ItemModelList": 
            [
              (
                "itemDetailId": 10666496
              )
            ]
          ),
          (
            "basketId": 10666497,
            "SenderModel": 
            (
              "phoneNumber": "5678"
            ),
            "ItemModelList": 
            [
              (
                "itemDetailId": 10666497
              )
            ]
          )
        ]       
    ]);

?>

但是这个结果就是这个。

  

PHP解析错误:语法错误,第7行的C:\ test.php中出现意外的':'

我将:修改为=>,但结果相同。

  

PHP解析错误:语法错误,第7行的C:\ test.php中出现意外的'=>'(T_DOUBLE_ARROW)

什么是问题?
预先感谢您的答复。

1 个答案:

答案 0 :(得分:1)

您的代码错误,因为您在数组中使用了():,PHP中的数组使用了[]=>

():是JSON代码。

"basketId": 10666496,
"SenderModel": 
(
  "phoneNumber": "5678"
),

其Json代码。

您可以替换

  • “(”到“ [”
  • “)”到“]”
  • “:”至“ =>”

您可以尝试

<?php
$requestJson = json_encode([
  'orderNumber'=> "502763-20171027-00006701",
  'PackageModelList'=>
  [
    [
      "basketId"=> 10666496,
      "SenderModel"=> 
      [
        "phoneNumber"=> "5678"
      ],
      "ItemModelList"=> 
      [
        "itemDetailId"=> 10666496
      ]
    ],
    [
      "basketId"=> 10666497,
      "SenderModel"=> 
      [
        "phoneNumber"=> "5678"
      ],
      "ItemModelList"=> 
      [
        "itemDetailId"=> 10666497
      ]
    ]
  ]       
]);

?>