我在ajax响应中从数组转换了json值。
{"Text":"Please provide a value","Email":"Please provide a value"}
我需要使用$(div).html()在div中提取响应json:
Text-Please provide a value
Email-Please provide a value
我使用$ .each()尝试了它:
var json=JSON.stringify({"Text":"Please provide a value","Email":"Please provide a value"});
var arr = [];
var obj = jQuery.parseJSON(json);
$.each(json,function(key,value)
{
arr.push('<li>'+value+'</li>');
});
var arrval =arr.join('');
console.log(arrval);
但我的输出是未定义的。我知道在提取时我做了一些逻辑错误?我在这里做错了什么?
注意:json中的数组键值对可以是动态的,即可以是一个,两个或更多..
答案 0 :(得分:1)
如果它有帮助,请看这个!!
var jsonData = {"Text":"Please provide a value","Email":"Please provide a value"};
var arr = [];
for(var j in jsonData){
var sub_key = j;
var sub_val = eval("jsonData."+j);
arr.push('<li>'+sub_key+": "+sub_val+'</li>');
}
答案 1 :(得分:1)
我认为这可能会有所帮助
var json = {"Text":"Please provide a value","Email":"Please provide a value"};
var arr = [];
$.each(json,function(key,value){
arr.push('<li>'+value+'</li>');
});
var arrval =arr.join('');
console.log(arrval);
答案 2 :(得分:0)
$(obj).each(function(index,value)
{
arr.push('<li>'+value.Text+'</li>');
});
你的json必须看起来像:
[{"Text":"Please provide a value","Email":"Please provide a value"}]
答案 3 :(得分:0)
json是一个对象数组,因此有一个可用于迭代其元素的length属性。
var result;
for(var i=0;i<json.data.length;i++)
{
result += json.data[i].text+ ', ';
}
大多数调试器控制台都支持直接显示对象。只需使用
检查您的结果console.log(obj);