用JavaScript解析多维数据

用JavaScript解析多维数据,javascript,json,parsing,Javascript,Json,Parsing,我要分析以下字符串: content = { "type": "formData", "data":"{ "type":"text", "name":"FAMILY_NAME", "value":"nom famille" }" } 我知道我必须使用JSON.parse(),但当我这样做时,我会出现以下错误: SyntaxError: Unexpected token t in JSON at po

我要分析以下字符串:

content = {
      "type": "formData",
      "data":"{
          "type":"text",
          "name":"FAMILY_NAME",
          "value":"nom famille"
      }"
}
我知道我必须使用JSON.parse(),但当我这样做时,我会出现以下错误:

SyntaxError: Unexpected token t in JSON at position 30

有人能帮我吗?谢谢

当解析器遇到JSON语法问题时,它对错误不是很清楚

问题是您在
“data”后面加了一个引号:
,这使得JavaScript解释器认为
data
将包含一个字符串。但在JSON格式中,不能生成多行字符串,必须有内联字符串。因此,它会抛出一个错误,因为它希望在代码的第三行末尾有一个结束引号
。此外,您不希望
数据
包含一个字符串,而是一个子对象

有效代码应为:

content = {
  "type": "formData",
  "data": {
      "type":"text",
      "name":"FAMILY_NAME",
      "value":"nom famille"
  }
}

(我刚刚删除了
数据
字段开头和结尾的引号。)

您添加了一组额外的引号,应该是

content = {
  "type": "formData",
  "data":{
      "type":"text",
      "name":"FAMILY_NAME",
      "value":"nom famille"
  }
}


带引号的字符串在JSON中被视为文本。

我不这么认为……问题来自content.data.type我猜注:如果对象包含在代码中(分配给变量),而不是作为字符串中的字符,那么它就不是JSON。它是JavaScript。JavaScript和JSON对象使用相似的外观,但不相同或使用方式不同。我5分钟前才计算出来!无论如何,感谢您的清晰解释。我5分钟前才计算出来!无论如何,谢谢。