Как преобразовать строку в объект в javaScript - PullRequest
0 голосов
/ 10 июля 2019

Я использовал Object.parses (), но получаю ошибку

var obj = '
   "users": [
 { "name":"John", "age":30, "city":"New York"},
 { "name":"Mike", "age":25, "city":"new jersey"},   
]'

Ответы [ 2 ]

2 голосов
/ 10 июля 2019

Хотя вы не упомянули JSON явно, эти данные выглядят как JSON.Вы можете использовать JSON.parse () , чтобы превратить строки JSON в переменные JavaScript

Однако отправленная вами строка на самом деле не является допустимой JSON из-за нескольких синтаксических ошибок.Вы можете исправить их, чтобы получить (что я предполагаю, это) предполагаемую структуру объекта:

1) удалить лишние двойные кавычки перед new jersey

2) добавить фигурные скобки с обоих концов впревратить его в действительный объект.

3) удалить лишнюю запятую после последней записи в массиве (хотя многие синтаксические анализаторы это допустят)

Таким образом, вы получите

{ 
  "users": [
    { "name":"John", "age":30, "city":"New York"},
    { "name":"Mike", "age":25, "city":"new jersey"}
  ]
}

И это можно легко разобрать:

var obj = '{ "users": [{    "name": "John",    "age": 30,    "city": "New York"  },  {    "name": "Mike",    "age": 25,    "city": "new jersey"  }]}';

var data = JSON.parse(obj);

console.log(data);
console.log("----------");

//example of gettng a specific property, now it's a JS variable
console.log(data.users[0].name);
1 голос
/ 10 июля 2019

Сначала исправьте свою строку.Это должно быть похоже на вставленный фрагмент.Во-вторых, используйте JSON.parse ()

var t = '{"users": [{ "name":"John", "age":30, "city":"New York"},{ "name":"Mike", "age":25, "city":"new jersey"}]}'; 
    
     
     var obj = JSON.parse(t);
     console.log(obj["users"][0].name);
     console.log(obj["users"][0].age);
     console.log(obj["users"][0].city);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...