Php 重建JSON格式
我有这样的JSON:Php 重建JSON格式,php,json,csv,Php,Json,Csv,我有这样的JSON: { live: { "name": "Nik", "age": "22", "car": "car1", "price": "1800" }, live: { "name": "Nik", "age": "22", "car": "car2", "price": "2500" } live: {
{
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
我怎么能做到
此外,我还有:
live,Nik,22,car1,1800
live,Nik,22,car2,2500
live,Nik,22,car3,1980
您的输入在语法或语义上都无效。您有一个具有三个属性且名称相同的对象。此外,JSON属性名称必须是带引号的字符串 我希望任何合法的JSON解析器都会拒绝这一点
我的建议是重新设计输入格式,使其成为有效的JSON。这比为这种模糊的JSON格式编写自定义解析器要简单得多。您使用的是什么语言?改进PHP代码的格式echo somevar[live][Nik][22][car2];到目前为止你试过什么吗?那不是JSON。使用验证器:输入和输出数据结构不相等。在输入中,age的父节点是活动的,而在输出中未定义或22。首先将输入数据重新构造为所需的输出,然后可以轻松地重新格式化为JSON。