Перестройте формат JSON

У меня есть JSON, как это:

{
live: {
"name": "Nik",
"age": "22",
"car": "car1",
"price": "1800"},
live: {
"name": "Nik",
"age": "22",
"car": "car2",
"price": "2500"}
live: {
"name": "Nik",
"age": "22",
"car": "car3",
"price": "1980"}
}

И нужно преобразовать это в это:

{
live: {
"Nik": {
"22": {
"car1": {
"price": "1800"},
"car3": {
"price": "2500"},
"car2": {
"price": "1980"}
}
}
}
}

перевести каждую точку, чтобы выделить как массив.
Для того, чтобы вы могли создать подобное (php):

echo somevar["live"]["Nik"]["22"]["car2"];

и это возвращение «2500» Как я могу сделать это?

Также у меня есть грязь CSV:

live,Nik,22,car1,1800
live,Nik,22,car2,2500
live,Nik,22,car3,1980

0

Решение

Ваш ввод не является синтаксически или семантически допустимым JSON. У вас есть объект с тремя атрибутами, которые имеют одинаковое имя («живой»). Кроме того, имена атрибутов JSON должны быть в кавычках.

Я ожидал бы, что любой законный парсер JSON отклонит это.


Я бы порекомендовал изменить ваш формат ввода, чтобы сделать его действительным JSON. Это гораздо проще, чем написать собственный синтаксический анализатор для этого неопределенного JSON-подобного формата.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]