0

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

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

但我想将值AAA.BBB[0].CCC.DDD[5].EEE作为字符串获取,以便我可以将其保存以供以后使用,以便直接修改我的 JSON 代码。

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

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

4

3 回答 3

3

为什么不只存储对它内部部分的引用呢?将其存储为字符串没有多大意义。如果您只想以更短的方式访问它,那么存储引用更有意义。

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 );
于 2013-03-29T17:23:35.033 回答
1
var j_string = JSON.stringify(AAA.BBB[0].CCC.DDD[5].EEE);

如果您只想将值作为字符串返回,请执行以下操作:

var j_string_value = AAA.BBB[0].CCC.DDD[5].EEE.toString();
于 2013-03-29T17:24:47.653 回答
0

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

于 2013-03-29T17:23:42.950 回答