如何连接字符串和数字以生成 JSON 对象?

新手上路,请多包涵

我想制作一个这样的 JSON 对象:

 let lob =  { courses_dept: 'sci', courses_avg: 77.09 };

通过将变量连接在一起:

 var dept = "sci";
var avg = 77.09;

let a = '{"courses_dept": dept, "courses_averge": avg }';

但是如果我这样做,我会得到 SyntaxError:

 let b = JSON.parse(a);

这样做的正确方法是什么?

原文由 user2109581 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 271
1 个回答

注意 JSON 代表 JavaScript Object Notation 。 JSON 始终 是一个字符串。它是编码数据的字符串 _表示形式_。没有 “JSON 对象” 这样的东西。

不要试图通过将字符串和其他值连接在一起来编写 JSON。而是构建一个对象并将其传递给 JSON.stringify -

 const dept = "sci"
const avg = 77.09

// make an object
const myobject = { courses_dept: dept, courses_average: avg }

// use JSON.stringify to encode myobject to JSON
const myjson = JSON.stringify(myobject)
console.log("encoded", myjson)

// test JSON.parse to decode the JSON and get the object back
console.log("decoded", JSON.parse(myjson))
 encoded {"courses_dept":"sci","courses_average":77.09}

decoded {
  "courses_dept": "sci",
  "courses_average": 77.09
}

原文由 Mulan 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏