在JavaScript中发布解析JSON字符串

时间:2019-02-07 19:21:51

标签: javascript json web-services parsing

我是Java开发人员,是javascript的新手,并且有一个来自WebService的JSON字符串,该字符串需要在JavaScript中进行解析

JSON字符串:

{
  "myArrayList": [
      {
         "myHashMap": {
               "firstName": "Clara",
               "name": "Housing and Community Development"
          }
      },
     {
         "myHashMap": {
               "firstName": "Nick",
               "name": "Housing and Community Development"
         }
     }
  ]
}

我已经尝试了以下方法来解析数据,但始终会得到“未定义”。该Web服务以字符串格式检索上述文本。

$.getJSON("http://localhost:7001/WS/Users?Id=35",
    function (jsonData)
    {
       for (var counter in jsonData.myArrayList) {
            alert(jsonData.myArrayList[counter]['name'])
       }
   });

但是,警报始终显示“未定义”。解决这个问题的任何帮助将不胜感激。谢谢。

4 个答案:

答案 0 :(得分:1)

JSON.parse应该可以帮助您反序列化:

var obj = JSON.parse('[{"name":"John", "age":30, "city":"New York"}]');

obj[0].name应该可以帮助您获得名称。

答案 1 :(得分:1)

您可以通过arraylist [i]。[harshmap]对其进行访问,在这里可以将该行放入循环中,并且它将迭代地获取所有值。

答案 2 :(得分:1)

此示例解构对象并映射结果数组

        var dta = 
        {
          "myArrayList": [
              {
          "myHashMap": {
            "firstName": "Clara",
            "name": "Housing and Community Development"
                  }
              },
             {
           "myHashMap": {
           "firstName": "Nick",
            "name": "Housing and Community Development"
                 }
             }
          ]
        }
       const { myArrayList } = dta
       function parse() {
        myArrayList.map(list => {
       alert(list.myHashMap.name)
    })
    }
    parse()

答案 3 :(得分:0)

以下内容已被删除:

(jsonData.myArrayList [counter] ['myHashMap'])。firstName;

谢谢。