noo*_*iam 1 javascript json node.js
我试图创建一个 JSON 形式的对象数组,然后将它们解析回一个对象。下面是一个工作示例:
var personString = '{"name": "matt","age": 24,"faceFeatures":{"eyes": "green","nose": "medium"},
"hats":["Jays", "TO6", "BassPro"]}'
var person = JSON.parse(personString)
console.log(person)
Run Code Online (Sandbox Code Playgroud)
这段代码没有问题。但是,当我尝试清理代码并将其格式化为多行时,我的代码失败了,这是一个示例:
var personString = '{
"name": "matt",
"age": 24,
"faceFeatures":{"eyes": "green","nose": "medium"},
"hats":["Jays", "TO6", "BassPro"]
}'
Run Code Online (Sandbox Code Playgroud)
我使用了 JSON 验证器,它说这段代码仍然有效,但是,我的文本编辑器(sublime)不断给我粉红色的线条,说我有一个封闭的字符串,这对我来说没有意义。因为它与上面的代码完全相同!
当然,我更喜欢它的第二个格式化版本,因为它更易于阅读,并且在我使用对象数组时会用到。非常感谢任何帮助,谢谢!
您不会像这样创建多行字符串,您需要添加\或使用模板文字
var personString = `{
"name": "matt",
"age": 24,
"faceFeatures":{"eyes": "green","nose": "medium"},
"hats":["Jays", "TO6", "BassPro"]
}`
// OR
var personString = '{ \
"name": "matt", \
"age": 24, \
"faceFeatures":{"eyes": "green","nose": "medium"}, \
"hats":["Jays", "TO6", "BassPro"] \
}'
Run Code Online (Sandbox Code Playgroud)