Php json_从数据库中解码多维数据
我将这个json保存在我的数据库中一个名为“price”的列中,类型为“text”Php json_从数据库中解码多维数据,php,mysql,arrays,json,multidimensional-array,Php,Mysql,Arrays,Json,Multidimensional Array,我将这个json保存在我的数据库中一个名为“price”的列中,类型为“text” { "desks": { "Dedicated Desk": "$400 mo" }, "private offices": { "1 Person": "$550 mo", "2 Person": "$1100 mo", "3 Person": "$1600 mo", "4 Person": "$2100 mo", "6 Person": "$3300
{
"desks": {
"Dedicated Desk": "$400 mo"
},
"private offices": {
"1 Person": "$550 mo",
"2 Person": "$1100 mo",
"3 Person": "$1600 mo",
"4 Person": "$2100 mo",
"6 Person": "$3300 mo"
},
"flexible membership": {
"Starting at": "$45 mo",
"Every Extra Day": "$50 Day"
}
}
然后,我从PHP调用返回数据库中的所有字段,并将它们编码为json
$json = json_encode($response,JSON_PRETTY_PRINT);
echo $json;
$response是来自数据库的响应。当我对$response进行var_转储时,我得到
array(22) {
[0]=>
object(stdClass)#6 (38) {
[...]
["price"]=>
string(242) "{"desks":{"Dedicated Desk":"$400 mo"},"private offices":{"1 Person":"$550 mo","2 Person":"$1100 mo","3 Person":"$1600 mo","4 Person":"$2100 mo","6 Person":"$3300 mo"},"flexible membership":{"Starting at":"$45 mo","Every Extra Day":"$50 Day"}}"
[...]
}
[...]
}
当我回显json_encode的结果时,我得到
[
{
[...]
"price": "{\"desks\":{\"Dedicated Desk\":\"$400 mo\"},\"private offices\":{\"1 Person\":\"$550 mo\",\"2 Person\":\"$1100 mo\",\"3 Person\":\"$1600 mo\",\"4 Person\":\"$2100 mo\",\"6 Person\":\"$3300 mo\"},\"flexible membership\":{\"Starting at\":\"$45 mo\",\"Every Extra Day\":\"$50 Day\"}}",
[...]
},
[...]
]
我的问题是json_encode从数据库中获取json并将其格式化为字符串。我试图将其格式化为多维json结构的一部分。这就是我试图实现的目标:
[
{
"price":[
{
"desks":{
"Dedicated Desk":"$400 mo"
},
"private offices":{
"1 Person":"$550 mo",
"2 Person":"$1100 mo",
"3 Person":"$1600 mo",
"4 Person":"$2100 mo",
"6 Person":"$3300 mo"
},
"flexible membership":{
"Starting at":"$45 mo",
"Every Extra Day":"$50 Day"
}
}
]
}
]
任何帮助都将不胜感激。运行最新版本的php。它将其编码为字符串,因为它是字符串。你需要做的是先解码
$response['price'] = json_decode($response['price']);
$json = json_encode($response,JSON_PRETTY_PRINT);
echo $json;
它将其编码为字符串,因为它是字符串。你需要做的是先解码
$response['price'] = json_decode($response['price']);
$json = json_encode($response,JSON_PRETTY_PRINT);
echo $json;
你想把第一个换成最后一个吗?我说得对吗?你想把第一个换成最后一个吗?我说得对吗?我不能准确地解码那部分然后重新编码。关于如何将其保存在数据库中,我可以从数据库中做些什么吗?我不知道MySQL有任何对象存储功能,这将是在数据库级别唯一可以做的事情。你能解释一下不能破译它吗?如果你写的是
json\u encode
行,就没有办法再写一行了吗?我不太可能解码那部分,然后重新编码。关于如何将其保存在数据库中,我可以从数据库中做些什么吗?我不知道MySQL有任何对象存储功能,这将是在数据库级别唯一可以做的事情。你能解释一下不能破译它吗?如果您正在编写json\u encode
行,是否没有办法再多写一行?