从 javascript 正确添加到 json

correctly adding to json from javascript

嗨,我无法正确添加到我的 json

这是代码。

当我 console.log 我试图添加的字符串是

     {"type":"#","name":"wh2xogvi","list":[{"0":"background-color"},{"1":"border"},{"2":"width"},      {"3":"height"},{"4":"margin"}],"listvalues":[{"0":"#aaa"},{"1":"2px solid #000"},{"2":"1040px"},{"3":"50px"},{"4":"0 auto"}]}           

有效json

     var jsonltoload = JSON.stringify(eval("(" + jsonloadtostring + ")"));
     console.log(jsonltoload); // this is the console log i was talking about higher up
     fullJSON.styles.objectcss.push(jsonltoload);    

但是当我实际查看 json 时,结果是错误的

       "{\"type\":\"#\",\"name\":\"unkd42t9\",\"list\":[{\"0\":\"background-color\"},{\"1\":\"border\"},{\"2\":\"width\"},{\"3\":\"height\"},{\"4\":\"clear\"}],\"listvalues\":[{\"0\":\"#ddd\"},{\"1\":\"2px solid #000\"},{\"2\":\"100%\"},{\"3\":\"50px\"},{\"4\":\"both\"}]}",              

完整的JSON来自JSON.parse(json);来自文件

您似乎混淆了 JSON,一种 文本的、独立于语言的 数据表示,与 JavaScript 个对象,一种语言-具体数据类型。

JSON.stringifyreturns一个字符串(包含JSON),所以jsonltoload是一个字符串。我想您只是想 解析 JSON 并添加结果对象:

var obj = JSON.parse(jsonloadtostring);
fullJSON.styles.objectcss.push(obj);    

我认为 JSON 字符串试图转义您添加到字符串中的双引号字符,从而生成字符串。尝试用单引号而不是双引号将整个字符串括起来