我设置了 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);
而且,正如所假设的,它根本没用。
所以我的问题是:
有没有办法解析整个商店? 这将是惊人的!
非常感谢你!
答案 0 :(得分:2)
您的商店将结果作为对象返回。如果要将对象转换为字符串,则需要使用store.get("rulesets")
:
JSON.stringify()方法将JavaScript值转换为JSON字符串,如果指定了replacer函数,则可以选择替换值,或者如果指定了replacer数组,则可以选择仅包含指定的属性。
如果要再次将该字符串转换回对象,则需要使用JSON.parse:
JSON.parse()方法将字符串解析为JSON,可选地转换解析产生的值。
你在这做什么:
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;
}