Javascript-解析JSON寻找对象字符串

杰克

我正在创建一个显示从JSON解析的数据的网页。我正在使用2个JSON文件。我可以毫不费力地解析一个问题,而第二个我正在努力解决。
我希望能够解析JSON以查找特定的对象字符串,并返回同一字典中的所有其他对象字符串。

JSON的布局为:

{
  "example":[
    {
      "Area":"Inside",
      "Player":"1",
      "Status":1,
      "Start_Time":"2016-12-21",
      "End_Time":"2016-12-22",
    },
    {
      "Area":"Outside",
      "Player":"1",
      "Status":1,
      "Start_Time":"2016-12-24",
      "End_Time":"2016-12-25",
    },
    {
      "Area":"Outside",
      "Player":"2",
      "Status":1,
      "Start_Time":"2016-12-26",
      "End_Time":"2016-12-28",
    }
  ]
}

我想说

if (player=="1") {//show ALL areas and start and end time}
//output should be something like: Area: Inside, Player: 1, Status: 1, Start_Time: 'Time', End_Time: 'Time', Area: Outside, Player: 1, Status: 1, Start_Time: 'Time', End_Time: 'Time'

我正在尝试解析javascript中的JSON,这就是我解析其他JSON的方式:

var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
  if (this.readyState == 4 && this.status == 200) {
    var myObj = JSON.parse(this.responseText);
    var dateTime = myObj.Date;
  }
};
xmlhttp.open("GET", "http://web/server/file.json", true);
xmlhttp.send();

任何帮助表示赞赏。

本·库珀

您这里确实有两个问题:提取JSON,然后解析它以查找您感兴趣的数据。以下代码片段负责使用的第一个任务fetch()(的现代继承者XMLHttpRequest)和使用的后一个任务Array.prototype.filter

请注意,如果您使用的不是现代javascript环境,则此解决方案将失败。还要注意,可以使用新的异步/等待来改善此情况。为了简单起见,我将它们排除在外。

fetch("http://web/server/file.json") // supported in modern browsers.
  .then(res => res.json()) // parses into JSON. Fails if given improper json
  .then(data => {
    console.log(data.example.filter(el => el.Player === 1)); // filter returns an array with only elements that meet the condition
  });

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章