我想以这种格式创建一个JSON数据,我想在value元素中给出一个JSON字符串,但是它给出了JSON格式错误的错误。我犯的错误是什么
{
"metafield": {
"namespace": "inventory",
"key": "test",
"value": "[{"5":10,"8":10}]",
"value_type": "string"
}
}
答案 0 :(得分:2)
你必须逃避"
,这是你可以写的方式
{
"metafield": {
"namespace": "inventory",
"key": "test",
"value": "[{\"5\":10,\"8\":10}]",
"value_type": "string"
}
}
答案 1 :(得分:1)
当您将值作为数组或对象传入JSON字符串时,无需像"
"[{'5':10,'8':10}]"
那样只传递数组对象值,如[{"5":10,"8":10}]
完全使用此字符串
{
"metafield":
{
"namespace": "inventory",
"key": "test",
"value": [{"5":10,"8":10}],
"valuetype": "string"
}
}
如果你写
"[{'5':10,'8':10}]"
,它会被认为是一个简单的字符串。
答案 2 :(得分:0)
对数组中对象的属性使用单引号:
{
"metafield":{
"namespace":"inventory",
"key":"test",
"value":"[{'5':10,'8':10}]",
"value_type":"string"
}
}
您可以在此处重新检查JSON的有效性:https://jsonformatter.curiousconcept.com。此服务将为您提供有关错误的更多详细信息。
答案 3 :(得分:0)
您可以使用closeIdleConnections(period
或'
来使用此格式,例如\"
或'string'
我不知道你的要求但是你可能在做错了数组,可能你需要以下格式的JSON
\"string\"
答案 4 :(得分:0)
您的json格式不正确。 用这个:
{
"metafield": {
"namespace": "inventory",
"key": "test",
"value": [{
"5": 10
}, {
"8": 10
}],
"value_type": "string"
}
}
答案 5 :(得分:0)
"value"
如上所述array
,如果你想将"value"
键值传递为array
,那么制作json字符串是错误的。如果您希望将"value": [{"5":10,"8":10}],
键值作为{{1}}传递给{{1}},那么您的json sting错误就会无效。
我希望这会有所帮助。