Dojo 如何解析整个 JsonRestStore (JSON to String)

Dojo How to parse a whole JsonRestStore (JSON to String)

本文关键字:JSON to String JsonRestStore 何解析 Dojo      更新时间:2023-09-26

我像这样设置了一个 JsonRestStore

var store = new JsonRestStore({target:"http://localhost:****/blub/"});

我通过以下方式获取数据:

store.get("rulesets");

服务器在控制台中返回:

{"xomName":"loaded","topicName":"Alpha","ioobjectName":"class1","rulesetName":"xmlbinding$45$rules"
},{"xomName":"loaded","topicName":"Beta","ioobjectName":"class2","rulesetName":"xmlbinding$45$rules"
},{"xomName":"loaded","topicName":"gammp","ioobjectName":"class3","rulesetName":"xmlbinding$45$rules"
}]

所以现在我想解析整个存储(规则集)。我的建议是这样做:

var memo = new Memory();
memo = JSON.parse(JSON.stringify(store.get("rulesets")));
console.log(memo);

而且,正如假设的那样,它根本没有奏效。

所以我的问题是:

有没有办法解析整个商店?太神奇了!

非常感谢!

您的商店将结果作为对象返回。如果要将对象转换为字符串,则需要使用JSON.stringify

JSON.stringify() 方法将 JavaScript 值转换为 JSON 字符串,如果指定了替换器函数,则可以选择替换值,或者如果指定了替换器数组,则可以选择仅包含指定的属性。

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify

如果要将该字符串再次转换为对象,则需要使用 JSON.parse:

JSON.parse() 方法将字符串解析为 JSON,可以选择转换通过解析生成的值。

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse

你在这里做什么:

JSON.parse(JSON.stringify(store.get("rulesets")));

是使用 JSON.stringifystore.get("rulesets") 的结果对象转换为字符串,然后使用 JSON.parse 再次将生成的字符串转回对象。因此,事实上整条线什么都不做/撤消。

一个正确的例子:

// Assign result object to "myObject" variable
var myObject = store.get("rulesets");
// Convert "myObject" to string and assign to variable "myString"
var myString =  JSON.stringify(myObject);
// Convert "myString" to object and assign to variable "myOtherObject"
var myOtherObject = JSON.parse(myString);