#javascript #json #parsing
#javascript #json #синтаксический анализ
Вопрос:
У меня есть строка, которая выглядит устрашающе как json:
columns: [
{
allowNull: false,
autoEnterSubType: 0,
autoEnterType: 2,
creationOrderIndex: 0,
dataType: 4,
databaseSequenceName: "seq_admintraties_adminratie_id",
flags: 1,
name: "administratie_id"
},
{
allowNull: true,
creationOrderIndex: 4,
dataType: 12,
length: 50,
name: "database_naam"
},
{
allowNull: true,
creationOrderIndex: 1,
dataType: 12,
length: 50,
name: "naam"
},
{
allowNull: true,
creationOrderIndex: 2,
dataType: 12,
length: 50,
name: "omschrijving"
},
{
allowNull: true,
creationOrderIndex: 3,
dataType: 12,
length: 50,
name: "organisatie_naam"
}
],
name: "administraties",
tableType: 0
но это не
Мне нужно разобрать его с помощью javascript, но я не хочу проходить через разделение, потому что я чувствую, что это можно сделать более простым способом.
У кого-нибудь из вас есть предложения о том, как подойти к этому?
Комментарии:
1.
eval
это самый простой способ проанализировать это… нравится это или нет
Ответ №1:
Предоставленная вами строка имеет недопустимый формат. Это необходимо исправить. Все ключи должны быть заключены в двойные кавычки, а вся строка должна быть заключена в круглые скобки.
Я исправил часть вашей входной строки, чтобы вы могли получить представление,
{
"columns":[
{
"allowNull":false,
"autoEnterSubType":0,
"autoEnterType":2
},
{
"allowNull":true,
"creationOrderIndex":4
}
],
"name":"administraties",
"tableType":0
}
Вы можете использовать приведенный ниже сайт для проверки любой строки json :
https://jsonformatter.curiousconcept.com/
используйте это регулярное выражение для преобразования вашей строки в json :
var str = 'your_string';
var regex = /^[^"]([a-zA-Z0-9_-]) /;
str = str.replace(regex, "$amp;");
str = "{" str "}";