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

时间:2016-03-01 18:13:50

标签: javascript json parsing dojo store

我设置了 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);

而且,正如所假设的,它根本没用。

所以我的问题是:

有没有办法解析整个商店? 这将是惊人的

非常感谢你!

1 个答案:

答案 0 :(得分:2)

您的商店将结果作为对象返回。如果要将对象转换为字符串,则需要使用store.get("rulesets")

  

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

count

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

  

JSON.parse()方法将字符串解析为JSON,可选地转换解析产生的值。

drop

你在这做什么:

JSON.stringify

使用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); 的结果对象转换为字符串,然后使用var Logger = function() { var lines = []; return { log: function(line) { if (lines.length > 100) { lines.shift(); // remove the first line } lines.push(line); // add the new one $('#logTextArea').val(lines.join('\n')); } }; }; var logger = new Logger(); for (var x = 0; x < 110; x++) { logger.log(x.toString()); }将结果字符串重新转换回对象。因此,事实上整条生产线都没有做任何事情。

一个正确的例子:

textarea {
  width: 300px;
  height: 200px;
}