Ошибка синтаксического анализа строки JSON в JavaScript - PullRequest
0 голосов
/ 07 февраля 2019

Я - Java-разработчик, новичок в javascript и у меня есть строка JSON, поступающая из WebService, которую необходимо проанализировать в JavaScript

Строка JSON:

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

Я пыталсяследующее, чтобы проанализировать данные, но всегда получить «неопределенное».Веб-служба извлекает текст, как указано выше, в строковом формате.

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

Однако в предупреждении всегда отображается «неопределенное».Любая помощь в решении этой проблемы будет принята с благодарностью.Спасибо.

Ответы [ 4 ]

0 голосов
/ 07 февраля 2019

Этот пример разрушает объект и отображает результирующий массив

        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()
0 голосов
/ 07 февраля 2019

Работает приведенное ниже:

(jsonData.myArrayList [counter] ['myHashMap']). FirstName;

Спасибо.

0 голосов
/ 07 февраля 2019

Вы можете получить к нему доступ через arraylist [i]. [Harshmap], где эта строка может быть помещена в цикл, и она будет получать все значения итеративно.

0 голосов
/ 07 февраля 2019

JSON.parse должен помочь вам с десериализацией:

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

obj[0].name должен помочь вам получить имя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...