JSON点符号的字符串(JSON dot notation to string)

2019-08-18 05:57发布

我是我在JavaScript中使用JSON和我试图得到该点符号代表一个字符串值。

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

但我想要得到的值AAA.BBB[0].CCC.DDD[5].EEE为字符串,所以我可以将其保存以备后用,让我直接修改我的JSON代码。

有没有在Javascript或jQuery的方法,该方法可以返回一个字符串值表示?

*编辑我转换JSON数据到一个列表结构,我想保存AAA.BBB[0].CCC.DDD[5].EEE格式作为id所以当用户修改其修改该列表项的内容直接JSON数据。 会不会有更好的方法来保存ID中的位置?

Answer 1:

为什么不只是存储到它的内部部分的参考? 把它作为一个字符串,并没有太大的意义。 如果你只是想访问它的一个较短的方式,存储参考更有意义。

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 );


Answer 2:

var j_string = JSON.stringify(AAA.BBB[0].CCC.DDD[5].EEE);

如果你只是想返回的值是一个字符串,这样做:

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


Answer 3:

你很可能使用eval对字符串,如果你正在寻找这条道路上执行的操作,但eval是相当危险的,因为它允许执行任意代码。 如果你想JSON字符串化的整个结构,有JSON.stringify这是大多数新的浏览器的标准功能和Doug Crockford的有他自己对此采取旧的浏览器在这里 。



文章来源: JSON dot notation to string