javascript - 为什么 json 响应有方括号

标签 javascript php json

出于某种原因,我必须像这样使用 JSON:

php代码

$json = json_decode([{
"key":1812,
        "ticks":0,
        "events":"7F7E7F7E7F7E7F7E7F7E7F7E7F7E",
        "s1a":"011A00002066C0D9",
        "s1c":"011C0149040901496650002830000000000000023344000043410000000300000004C5BD",
        "s46":"014600283000CA8D","s10":"011000287182943B",
        "s9a":"019A0000000018000000000000000000DC69",
        "version" : "18.05" 
}]);

// and use $json in loop to populate the table...

那对方括号不允许我在 php 中使用它做任何事情。我的编辑器显示解析错误。我在js中解决了这个问题,如下所示:

var data = json[0];
var i;
for(i=0; i<json.length; i++){
    var html = '';
    html += '<td>' + json[i]["key"] + '</td>'
    + '<td>' + json[i]["ticks"] + '</td>'
    + '<td>' + json[i]["events"] + '</td>'
    + '<td>' + json[i]["s1a"] + '</td>'
    + '<td>' + json[i]["s1c"] + '</td>'
    + '<td>' + json[i]["s46"] + '</td>'
    + '<td>' + json[i]["s9a"] + '</td>'
    + '<td>' + json[i]["version"] + '</td>';
}
    $(html).appendTo('#bundle');
//var jsonEncoded = JSON.parse(data);
console.log(json.length);*/

但是这样使用好像不太好。我该如何在 php 中解决这个问题?

最佳答案

您可以简单地在 PHP 中使用 json_decode 来实现此目的,例如:

<?php
$data = json_decode($json);
var_dump($data[0]->key);
var_dump($data[0]->events);

您只需使用索引0即可访问它们。 Demo

编辑:您的代码的问题是您没有将 json 字符串括在引号中。你应该像这样使用它:

$json = json_decode('[{
"key":1812,
        "ticks":0,
        "events":"7F7E7F7E7F7E7F7E7F7E7F7E7F7E",
        "s1a":"011A00002066C0D9",
        "s1c":"011C0149040901496650002830000000000000023344000043410000000300000004C5BD",
        "s46":"014600283000CA8D","s10":"011000287182943B",
        "s9a":"019A0000000018000000000000000000DC69",
        "version" : "18.05" 
}]');

关于javascript - 为什么 json 响应有方括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47684414/

相关文章:

javascript - HTML Canvas 从坐标获取 Angular

php - 获取一个月中的第一个或最后一个星期五

ios - 无法将类型 '__NSDictionaryM' 的值转换为 'NSArray"

JSON Schema - 基于所选值的下拉列表其他下拉列表

javascript - CSS 样式问题 - 未在 Firefox 中显示

javascript - 通过选定的选项值设置输入值

javascript - 如何使用 jQuery 悬停作为触发器使 div 以恒定速度向左/向右移动?

php - 使用 REST api 进行 Paypal 支付处理

php - 从开始日期到结束日期,打印第三个变量的计数

javascript - 如何从自定义格式化字符串创建 JSON