【问题标题】:Parsing JSON in JS and comparing key values在JS中解析JSON并比较键值
【发布时间】:2016-02-29 06:55:45
【问题描述】:

我有一个 JSON 数据

{
"FrontLeft"  : "FALSE",
"FrontRight" : "FALSE",
"RearLeft"   : "FALSE",
"RearRight"  : "TRUE"  }

我使用 AJAX 从文本文件中读取此数据并解析。

function loadDoc() 
   {
    var xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function() {
    if (xhttp.readyState == 4 && xhttp.status == 200) {

      var arrLines = xhttp.responseText;
      alert ( arrLines);
      var obj = JSON.parse(arrLines);
     /*
        Need to compare values of each key
      */


    }
  };

如何访问每个键的值???

【问题讨论】:

  • 您打算如何比较这些值?

标签: javascript json ajax file parsing


【解决方案1】:

你可以像这样访问对象中的值,

obj.FrontLeft     //this will give you "FALSE"
obj.FrontRight    //this will give you "FALSE"

obj['FrontLeft'] 也会给你同样的结果。

【讨论】:

    【解决方案2】:

    你可以使用for循环:

    for (var key in p) {
     if (p.hasOwnProperty(key)) {
      console.log(key + " -> " + p[key]);
     }
    } 
    

    或者你可以使用 Object.keys(),见MDN documentation:

    var obj = { 'FrontLeft' : '1', 'FrontLeft1' : '2' };
    var keys = Object.keys(foo); // ['FrontLeft', 'FrontLeft1'] 
    

    另一种方式可能是for-of,但它还没有广泛的浏览器支持see MDN documentation

    【讨论】:

      猜你喜欢
      • 2016-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多