JSON点符号表示字符串

我在我的javascript中使用JSON,我试图获得点符号表示的字符串值。

例如,JSON点符号格式的AAA.BBB[0].CCC.DDD[5].EEE = 123。

但是我希望得到值AAA.BBB[0].CCC.DDD[5].EEE作为字符串,所以我可以将它保存以供以后使用,以允许我直接修改我的JSON代码。

Javascript或jQuery中是否有可以返回字符串值表示的方法?

*编辑我正在将JSON数据转换为列表结构,并且我想将AAA.BBB[0].CCC.DDD[5].EEE格式保存为id,因此当用户修改其修改的列表项的内容时直接使用JSON数据。 是否有更好的方法来保存ID中的位置?

为什么不直接存储它的内部部分? 将它存储为字符串没有多大意义。 如果您只是想要一种较短的访问方式,那么存储引用会更有意义。

 var theCollection = AAA.BBB[0].CCC.DDD[5]; alert( theCollection.EEE ); 

然后可以将此引用存储在元素上并稍后检索。

 $(someelement).data("jsonref",theCollection); var data = $(someelement).data("jsonref"); alert(data.EEE); data.EEE = "foobar"; data = $(someelement).data("jsonref"); alert( data.EEE ); 
 var j_string = JSON.stringify(AAA.BBB[0].CCC.DDD[5].EEE); 

如果您只想将返回的值作为字符串执行此操作:

 var j_string_value = AAA.BBB[0].CCC.DDD[5].EEE.toString(); 

如果您希望在该路径上执行操作,则可以在字符串上使用eval ,但eval非常危险,因为它允许任意代码执行。 如果你想让JSON对整个结构进行字符串化,那么JSON.stringify就是大多数新浏览器的标准function,Doug Crockford在这里对旧浏览器有自己的看法。