尝试在JSON数据中提供JSON字符串时,JSON格式出错

时间:2016-12-26 09:25:52

标签: javascript json json.net postman

我想以这种格式创建一个JSON数据,我想在value元素中给出一个JSON字符串,但是它给出了JSON格式错误的错误。我犯的错误是什么

{
  "metafield": {
  "namespace": "inventory",
  "key": "test",
  "value": "[{"5":10,"8":10}]",
  "value_type": "string"
 }
}

6 个答案:

答案 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错误就会无效。

我希望这会有所帮助。