【发布时间】:2014-05-26 15:26:07
【问题描述】:
嗨,我已经使用 JSON.stringify 将 json 对象转换为字符串,现在我想要数组中的键值对
例如。 key =en value =Anglais 等等...
这是jsfiddle
代码
var data ={"en":{"name":"Anglais"},"fr":{"name":"Français"},
"it":{"name":"Italien"},"de":{"name":"Allemand"},"es":{"name":"Espagnol"}}
到目前为止我已经完成了
var data = {
"en": {
"name": "Anglais"
},
"fr": {
"name": "Français"
},
"it": {
"name": "Italien"
},
"de": {
"name": "Allemand"
},
"es": {
"name": "Espagnol"
}
};
var strData = JSON.stringify(data);
for (var i = 0; i < strData.length; i++) {
$('#dvarray').append('string array==' + strData[i] + "<br>");
}
$.each(strData, function (key, value) {
var abbr = JSON.stringify(value);
$('#dvstring').html('abbr=' + abbr.substr(2, 4)); //Uncaught TypeError:
});
【问题讨论】:
-
“我已经使用 JSON.stringify 将 json 对象转换为字符串” 我认为您的意思是“JavaScript 对象到 JSON”。 JSON 只能以字符串的形式存在于 JavaScript 中,因此您的说法毫无意义。
strData是什么?听起来您正试图在不是对象的东西上使用$.each。 -
我现在已经更新了我的代码,请帮助你检查 jsfiddle 我想要 en, fr , de , es from string
-
好的。正如我所料,您正在尝试在字符串上使用
$.each。你不能那样做。$.each用于数组和对象。请阅读文档:api.jquery.com/jQuery.each。看起来您实际上想要遍历原始对象中的数据,因此请不要将其转换为 JSON。 -
你能更新 jsfiddle 代码我还是有问题
-
我可以得到 key = name 和 value = Anglais 但问题是我不能得到 "en" , "fr" , "it", "de" , "es" 因为它没有键
标签: javascript json substring keyvaluepair