Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用json将db json转换为javascript对象。parse()失败_Javascript_Json_Ecmascript 6 - Fatal编程技术网

使用json将db json转换为javascript对象。parse()失败

使用json将db json转换为javascript对象。parse()失败,javascript,json,ecmascript-6,Javascript,Json,Ecmascript 6,我有存储在mysql中的数据json 我做console.log(数据) 我看到 但我知道它不是javascript对象,因为console.log(typeof data)//string 如何将其转换为javascript对象?我知道 JSON.parse(data)但我得到了 位置1处JSON中意外的标记o已更新以修复换行符 问题是JSON对象需要括号{},但它们不在字符串中。尝试将引号包含在所有内容之外(注意字符串的引号)。类似这样的方法会奏效: const myJsonString =

我有存储在mysql中的
数据json

我做
console.log(数据)

我看到

但我知道它不是javascript对象,因为
console.log(typeof data)//string

如何将其转换为javascript对象?我知道

JSON.parse(data)
但我得到了


位置1处JSON中意外的标记o

已更新以修复换行符

问题是JSON对象需要括号
{}
,但它们不在字符串中。尝试将引号包含在所有内容之外(注意字符串的引号)。类似这样的方法会奏效:

const myJsonString = `{
    "id": "1",
    "sales": 10,
    "msg": "Have a nice day"
}`

JSON.parse(myJsonString)

您得到了尾随逗号,将字符串复制并粘贴到web上的任何json验证器

正确的json格式应该是

{
 "id": "1",
 "sales": 10,
 "msg": "\"Have a nice day\"" -> delete the comma here
}

这两者之间有很多关系:我有存储在mysql中的json数据。我做console.log(数据)。请分享这段代码。这让人费解,因为我认为你的JSON没有任何问题。消息后面有一个多余的逗号,但这不重要。真正奇怪的是,字符串甚至不包含
o
,更不用说位置1了。你是否认为数据是积极的?嗯,下面有一些可疑的答案…@Brad。。。我知道这不是规范,但出于某种原因,我认为parse更宽容。我使用的JavaJSON库并不介意如此草率,我想这也不介意。但是刚刚用js测试过,让我惊讶的是,你是对的,先生。thx,更正…布拉,已经编辑了一个愚蠢的打字错误。哦,很明显,括号在那里。而且,您的代码不会解析。。。你需要用反斜杠来避开换行符。在发布之前测试一下你发布的内容。括号在那里,但不在引号内,这是非常不同的。你说得对,你逃到了新行,试图让它更具可读性,但忘记了这一点。我做了测试,但一切都是内联的。谢谢:)
{
 "id": "1",
 "sales": 10,
 "msg": "\"Have a nice day\"" -> delete the comma here
}