【问题标题】:Accessing data in a strangely formatted JSON file in JavaScript在 JavaScript 中访问格式奇怪的 JSON 文件中的数据
【发布时间】:2015-06-30 17:31:13
【问题描述】:

我收到了以下 JSON 格式,但我很难获得这些信息。我想把它放到一个数据表中。

"data":    {
       "HeadingOne":{

      "Columns":["Row1", "Row2"], 
      "Data":[["firstData", "secondData"]]

   }

}

我被告知我应该能够访问这些数据,但我完全不知道如何访问数据表中的“firstData”。 (来自datatables.net)这是我尝试过的

$(document).ready(function() {
    $('#example').dataTable( {
        "ajax": "<%= request.getContextPath()%>/ajax/mastermenu.txt",
        "columns":[
            {"data": "HeadingOne.Data.Row1"}        
            ] 
    } );
} );

HTML:

<table id="example" class="display" cellspacing="0" width="100%">
        <thead>
            <tr>
                <th>Row1</th>
                <th>Row2</th>
            </tr>
        </thead>
</table>

【问题讨论】:

  • 这个 json 无效
  • 这是无效的 JSON,对象未正确关闭。
  • 缺少},这是 JSON 的一部分吗?

标签: javascript ajax json formatting nested


【解决方案1】:

正如其他人所指出的,您最后缺少}。修复后这应该可以工作。

假设对象被称为data,这将得到"firstData"

console.log(data.HeadingOne.Data[0][0]); // "firstData"

【讨论】:

  • 这行得通,但我不知道如何在数据表中使用它。我不认为这是你理解的。
【解决方案2】:

哎呀。但是:

var data = {
    "HeadingOne":{
        "Columns":["Row1", "Row2"], 
        "Data":[
               ["firstData", "secondData"]
               ]
    }
}
var firstData = data['HeadingOne']['Data'][0][0]

注意:我必须在该块中添加最终的},否则它无效

如果您尝试按名称访问 firstData,希望很明显它不会工作,因为它包含在数组中的数组中(因此是 [0][0])。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-23
    • 2011-10-25
    • 2018-11-17
    相关资源
    最近更新 更多