【问题标题】:Converting a multi-dimensional array (javascript) to JSON (or similar) for transport将多维数组 (javascript) 转换为 JSON(或类似)以进行传输
【发布时间】:2026-01-28 04:05:02
【问题描述】:

我正在用 javascript 生成一个看起来像这样的多维数组(这是 javascript 数组的 JSON 表示,它不是 JSON 格式):

"100": {
 "40": {
    "subtotal": "24.99",
    "turn-around": {
        "0": "2-4 Business Days",
        "1": "Next Business Day (Add $15.00)"
    },
    "shipping": {
        "0": "UPS Ground - $0.00",
        "1": "UPS 2nd Day Air - $14.73",
        "2": "UPS 3 Day Select - $13.13"
    }
 },
 "41": {
    "subtotal": "29.99",
    "turn-around": {
        "0": "2-4 Business Days",
        "1": "Next Business Day (Add $15.00)"
    },
    "shipping": {
        "0": "UPS Ground - $0.00",
        "1": "UPS 2nd Day Air - $14.73",
        "2": "UPS 3 Day Select - $13.13"
    }
 }
}

我正在尝试将其转换为 JSON 格式,以便将其导入 PHP 脚本。我正在使用 JSON.stringify,但只得到结果:

[null,null,null,null,null,null,null,null,... CLIP... null,null,null,null,null,null,null,null,null,[]]]

我很确定数组是正确的,因为当dumping 的内容时,我得到了这个:

'1000' ...
'41' ...
    'subtotal' => "$24.00"
    'tat' ...
        '0' => "- Choose Turnaround Time -"
        '1' => "Next Business Day (Add $15.00)"
        '2' => "2-4 Business Days"
    'shipping' ...
        '0' => "FREE UPS Ground - $0.00"
        '1' => "UPS 2nd Day Air - $12.75"
        '2' => "UPS 3 Day Select - $13.13"
        '3' => "UPS Next Day Air Saver - $15.32"
        '4' => "UPS Next Day Air - $17.04"
        '5' => "UPS Next Day Air Early A.M. - $71.61"

我不确定为什么 JSON.stringify 方法不起作用。我需要它来将数组转换为可读的格式,以便在 PHP 中进行消化。也许有更好的方法?

我需要的只是将 javascript 中的多维数组转换为 PHP 中的多维数组。我不是 javascript 专家,所以这可能是这里真正的问题。

【问题讨论】:

    标签: php javascript arrays multidimensional-array


    【解决方案1】:

    JSON 代表 JavaSript 对象表示法。这意味着它可以用于携带任何可以使用 JavaScript 的数据结构(哈希和数组)表示的数据,这意味着这些都是有效的 JSON 对象:

    foo = {
        "spam" : "eggs",
        "Yello" : [ "w", "Dello" ]
    }
    bar = [
        "Green",
        "Eggs",
        "Ham",
        { "Ron" : "Burgundy" }
    ]
    

    因此,如果您的数组已经是 valid JSON,则无需对其调用 stringify。而且据我所知,您已经可以开始了!

    【讨论】:

      【解决方案2】:

      由于您可以将 json 数据发送到 php,因此您也可以使用 php 及其json_decode 函数对其进行转换。

      【讨论】:

      • 是的,您不需要将 JSON 字符串化(它的 已经 字符串化,只需发送对象的内容)您需要做的就是解析并将其转换为PHP 的内部数据结构。 (json_decode)
      • 抱歉,我应该澄清一下,我现在拥有的只是一个 javascript 数组(一个对象)。我需要将此对象转换为 JSON 格式。或者也许这就是我不理解的?我更新了帖子以试图澄清。我的第一个 JSON 代码示例只是为了显示 javascript 数组对象的深度。
      • JavaScript 对象已经是有效的 JSON 文档,只要您的键/值在双引号中。甚至数组也是有效的!
      最近更新 更多