在数据库中,JSON数据以以下方式存储:
{"name":"abc","score":5}
现在每次我想添加具有不同名称和分数的json对象作为相同的json数据时:
{"name":"abc","score":5},{"name":"efg","score":8},{"name":"xyz","score":6}
现在我已经尝试了这段代码
$database_data = $row['JSONstring']; //fetched json string from database
$json_decode_data = json_decode($database);
array_push($json_decode_data, $new_json_string); //data to append to database data
$updated_json_data = json_encode($json_decode_data); // at last encode the update json data
但这不起作用,并发出警告:参数1是一个对象。
如何解决?
答案 0 :(得分:0)
现在,这里给出了所有答案和评论,我得到了所需的答案。因此,感谢您的帮助。
在我的问题开头,第一个JSON字符串格式无效:
if
取而代之的是:
{"name":"abc","score":5}
所需的JSON数据格式为:
[{"name":"abc","score":5}]
这是通过array_merge()函数实现的,如下所示:
将json对象附加到json对象字符串的代码
[{"name":"abc","score":5},{"name":"efg","score":8},{"name":"xyz","score":6}]