jQuery / Javascript:将ID插入jSON对象?

时间:2012-02-18 18:08:42

标签: javascript jquery json replace

我通过flashMovie的函数调用得到以下对象作为参数。所以我有一个简单的javascript函数,如savePro(info),它是从flashmovie中调用的。

所以我可以简单地console.log(info)而且我得到了这个。

{"action":"setProjectAll", "application":{"proId":"new","zoomPosition":35,"scrollerPosition":0,"language":"en","timelinePosition":0}, "clips":[]}

我的js文件中有一个变量var id = 12。这个变量是动态的,但总是有一个数字。

如何用我变量的"proID":"new"替换json对象中的id? 所以我想要......

{"action":"setProjectAll", "application":{"proId":12,"zoomPosition":35,"scrollerPosition":0,"language":"en","timelinePosition":0}, "clips":[]}

之后。

我完全不知道怎么做? 提前谢谢!

4 个答案:

答案 0 :(得分:1)

使用点表示法访问该属性:

info.application.proId = id;

旁注:JSON是用于交换的字符串表示。你正在处理的只是一个 JavaScript对象

答案 1 :(得分:1)

好吧,如果这是您正在讨论的实际JSON文字,那么您需要

  • 尝试一些奇特的字符串操作,或
  • 解析它,修改它,然后将其字符串化

后者就是这样......

var obj = JSON.parse(info);  // parse the JSON into a JavaScript object

obj.application.proId = id; // modify the object

info = JSON.stringify(obj);  // stringify it into JSON if you wanted it as JSON

如果您确实没有JSON数据,那么您只需按照在任何初学JavaScript书中找到的方式对其进行操作。

这与上面第二行代码的方法相同......

info.application.proId = id; // modify the object

答案 2 :(得分:0)

你没有“json对象”,你有“json”,它是你对象的字符串表示,或者你有一个“对象”。假设后者您可以按如下方式设置属性:

info.application.proId = id;

如果你有JSON,你需要解析它来创建一个对象,然后设置属性(如果你需要它作为一个字符串,之后再转回JSON):

info = JSON.parse(info);
info.application.proId = id;
info = JSON.stringify(info);

答案 3 :(得分:0)

您可以使用点表示法访问JSON对象中的属性。像这样:

info.application.proId = id;