我在网站上搜索了一下,但它仍然没有用。
var blah2 = JSON.stringify({foo: 123, bar: <x><y></y></x>, baz: 123});
这是我试过的:
blah2.replace(/[{}]/g, "");
这就是字符串出来的地方:
got "{\"baz\":123,\"foo\":123}"
(我知道这可能是一个新问题,但这是我第一次使用javascript,我只是不知道我错过了什么)
答案 0 :(得分:12)
Javascript字符串是不可变的。当您致电blah2.replace
时,您没有替换blah2
内的内容,而是创建了一个新字符串。你可能想要的是:
blah2 = blah2.replace(/[{}]/g, '');
答案 1 :(得分:0)
因为我要用逗号分割它所以它变成了一个 数组,所以当我对它进行排序时,我不想根据它进行排序 {和}
zi42已经给你正确答案了。
但是既然你已经如上所述写了,看起来你想要的就是对数据进行排序并将其拆分成数组;在这种情况下,解析/拆分它在逗号等,是一个很长的路要走。这是考虑它的另一种方式:
var data = {foo: 123, bar: <x><y></y></x>, baz: 123};
var key;
var dataSorted = []; // Create an empty array
for (key in data) { // Iterate through each key of the JSON data
dataSorted.push(key);
}
dataSorted.sort();
现在您已对数据进行了排序。当您想要使用它时,您可以像这样使用它:
for (var i = 0; i < dataSorted.length; i++) {
var key = dataSorted[i];
// Now you do whatever you need with sorted data. eg:
console.log("Key is: " + key + ", value is: " + data[key]);
}