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在这里对旧浏览器有自己的看法。