首页 > 解决方案 > PHP)如何使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 Parse 错误:语法错误,第 7 行 C:\test.php 中出现意外的 ':'

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

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

什么是问题?
提前感谢您的回复。

标签: phparraysjson

解决方案


您的代码错误,因为您在数组中使用(, ),:在 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
      ]
    ]
  ]       
]);

?>

推荐阅读