У меня есть 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
Ваш ввод не является синтаксически или семантически допустимым JSON. У вас есть объект с тремя атрибутами, которые имеют одинаковое имя («живой»). Кроме того, имена атрибутов JSON должны быть в кавычках.
Я ожидал бы, что любой законный парсер JSON отклонит это.
Я бы порекомендовал изменить ваш формат ввода, чтобы сделать его действительным JSON. Это гораздо проще, чем написать собственный синтаксический анализатор для этого неопределенного JSON-подобного формата.
Других решений пока нет …