Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery从JSON获取值_Javascript_Jquery_Json - Fatal编程技术网

Javascript 使用jQuery从JSON获取值

Javascript 使用jQuery从JSON获取值,javascript,jquery,json,Javascript,Jquery,Json,我得到以下字符串: [{"Key":1,"Value":"correct"},{"Key":2,"Value":"incorrect"},{"Key":3,"Value":"incorrect"},{"Key":4,"Value":"correct"},{"Key":5,"Value":"incorrect"}] 我想根据TR的ID在JSON中的值是“正确”还是“不正确”来更改TR的背景色 如何从JSON中获取单个项的值?我试过: success: function (

我得到以下字符串:

[{"Key":1,"Value":"correct"},{"Key":2,"Value":"incorrect"},{"Key":3,"Value":"incorrect"},{"Key":4,"Value":"correct"},{"Key":5,"Value":"incorrect"}]
我想根据TR的ID在JSON中的值是“正确”还是“不正确”来更改TR的背景色

如何从JSON中获取单个项的值?我试过:

            success: function (result) {
                // update with results
                //alert(JSON.stringify(result));
                //$('#myDiv').html(JSON.stringify(result));

                // non of these work
                alert(result[0]);
                alert(result[key]);
            },

请确保指定数据类型:Ajax请求中的“json”

试一试

//


确保指定数据类型:Ajax请求中的“json”

试一试

//

可以使用
$.each()
迭代对象数组

$.each(result, function(i, item) {
    alert(item.Key);
});
在对
$的回调中,
项将是对正在迭代的数组中当前项的引用

然后您只需使用普通属性访问来获取
属性的值


当然,您也可以使用传统的
for
语句来循环数组

for (var i = 0; i < result.length; i++) {
    var item = result[i];
    alert(item.Key);
}
for(变量i=0;i

所有这些都假设您的响应具有适当的
内容类型设置,或者您已经将
数据类型:“json”
赋予
$。ajax()

您可以使用
$。each()
迭代对象数组

$.each(result, function(i, item) {
    alert(item.Key);
});
在对
$的回调中,
项将是对正在迭代的数组中当前项的引用

然后您只需使用普通属性访问来获取
属性的值


当然,您也可以使用传统的
for
语句来循环数组

for (var i = 0; i < result.length; i++) {
    var item = result[i];
    alert(item.Key);
}
for(变量i=0;i


所有这些都假设您的响应具有适当的
内容类型设置,或者您已经将
数据类型:“json”
赋予
$.ajax()

您没有指定,但是假设您的ajax代码接收到的json字符串作为响应,那么您实际上是在json该文本,所以它变成了一个双重编码的字符串

jquery可以为您自动将其解码回本地结构,前提是您希望json作为响应,例如

$.ajax({
   dataType: 'json',
   etc...
});
那你就干脆

alert(result[0]['key']);


您不需要指定,但假设JSON字符串是您的ajax代码作为响应接收的字符串,那么您实际上是在JSON该文本,因此它将成为双编码字符串

jquery可以为您自动将其解码回本地结构,前提是您希望json作为响应,例如

$.ajax({
   dataType: 'json',
   etc...
});
那你就干脆

alert(result[0]['key']);


您可以将JSON格式转换为对象,在您的情况下,它将是数组,所以您可以使用forEach检查您想要的内容

试试这个

var obj= JSON.parse( '[{"Key":1,"Value":"correct"},{"Key":2,"Value":"incorrect"},{"Key":3,"Value":"incorrect"},{"Key":4,"Value":"correct"},{"Key":5,"Value":"incorrect"}]' );



obj.forEach(function(i){alert(i.Key);alert(i.Value) })

您可以将JSON格式转换为对象,在您的情况下,它将是数组,所以您可以使用forEach检查您想要的内容

试试这个

var obj= JSON.parse( '[{"Key":1,"Value":"correct"},{"Key":2,"Value":"incorrect"},{"Key":3,"Value":"incorrect"},{"Key":4,"Value":"correct"},{"Key":5,"Value":"incorrect"}]' );



obj.forEach(function(i){alert(i.Key);alert(i.Value) })

看看这个:我并没有使用它,但看起来像是一个从Json结构中获取值的好方法

看看这个:我没有用过它,但它看起来像是从Json结构中获取值的好方法

你得到了什么输出?或者什么错误?你得到了什么输出?或者什么错误?那么ajax调用失败了,您的成功代码块永远不会被调用。添加一个
错误
块来捕获该错误,并查看原因。不,调用success块是因为我正在通过
$('#myDiv').html(JSON.stringify(result))输出整个JSON字符串。问题在于成功代码块内部的代码。不过,感谢您的帮助。然后ajax调用失败,您的成功代码块永远不会被调用。添加一个
错误
块来捕获该错误,并查看原因。不,调用success块是因为我正在通过
$('#myDiv').html(JSON.stringify(result))输出整个JSON字符串。问题在于成功块中的代码。不过,感谢您的帮助。我尝试使用
alert(结果[0][“key]”)
警报(结果[0][“键])但它只是说“未定义”。请尝试console.log(结果)。。您看到了什么?我很忙,因此我必须继续使用
$的工作解决方案。每个
都要感谢您的帮助。我尝试使用
警报(结果[0][“键])
警报(结果[0][“键])但它只是说“未定义”。请尝试console.log(结果)。。您看到了什么?我很忙,所以我必须继续使用
$的工作解决方案。每个
都要感谢您的帮助。