我的JavaScript文件中有一个包含
的json对象"qs": {}
当我将它存储在数据库中时,变为:
[object Object]
在其他时候,同一个对象看起来像这样:
"qs":{"id": "stackoverflow"}
或者这个:
"qs":{"id": "stackoverflow", "location": "USA"}
但无论数组包含多少元素,我都希望将它存储在一个数据库表字段中 - 所以我需要将其压缩成可读的字符串。
使用在某些时候可能为空的字段(如上所述)执行此操作的最佳方法是什么?
答案 0 :(得分:1)
您可能希望使用stringify将对象转换为字符串。
同样{}
不为空,它是一个空对象。 "qs" : null
为空。
答案 1 :(得分:1)
您可以将其转换为其字符串表示形式(即实际的JSON;您所拥有的是对象文字,它与JSON不同)并使用它。您可以使用JSON.stringify
执行此操作,并使用其中一个可用的替代方法。
答案 2 :(得分:0)
标准JSON函数将为您透明地处理所有这些(包括null和空对象)。在JavaScript中处理数据时,不应使用JSON字符串。相反,首先将JSON从字符串转换为JavaScript变量。当您准备好再次将数据提交到数据库时,请再次将其从JavaScript变量转换为JSON字符串:
// initialise a variable with the string from the database
dbData = '{"id": "stackoverflow", "location": "USA"}';
// initialise a JavaScript object with the data from the database
jsData = JSON.parse(dbData);
// when ready to put the string back into the database convert the JS object to a string
dbDate = JSON.stringify(jsData);