如何使用JavaScript或jQuery读取json数据

时间:2015-10-22 14:15:05

标签: javascript jquery json

我从我的页面执行上传按钮时收到此响应(我使用jQuery文件上传)。

readyState: 4
responseText: {"files":[{"name":"MY_PICTURE.JPG","size":79362,"type":"image\/jpeg","url":"https:\/\/www.mysite.com\/lib\/plugins\/jQuery-File-Upload-9.11.2\/server\/php\/files\/55_ads_1_preuzmi.jpg","mediumUrl":"https:\/\/www.mysite.com\/lib\/plugins\/jQuery-File-Upload-9.11.2\/server\/php\/files\/medium\/55_ads_1_preuzmi.jpg","thumbnailUrl":"https:\/\/www.mysite.com\/lib\/plugins\/jQuery-File-Upload-9.11.2\/server\/php\/files\/thumbnail\/55_ads_1_preuzmi.jpg","deleteUrl":"https:\/\/www.mysite.com\/lib\/plugins\/jQuery-File-Upload-9.11.2\/server\/php\/index.php?file=55_ads_1_preuzmi.jpg","deleteType":"DELETE"}]}
responseJSON: [object Object]
status: 200
statusText: OK

我只想获取名称键值,没有其他我不需要的。我一直坚持阅读名称字段值,标题为" name" (我想抓住这个:MY_PICTURE.JPG)。 我怎样才能用JavaScript / jQuery抓住它?

2 个答案:

答案 0 :(得分:1)

您可以使用jQuery.parseJSON()

var obj = jQuery.parseJSON( '{ "name": "John" }' );
alert( obj.name === "John" );

使用您的示例,您可以获得如下值:

for (var i in obj.files){
    console.log(obj.files[i]); // Here is the whole object
    console.log(obj.files[i].name); // Here is the name of the object
}

如果您只有1个条目,请使用Blazemonger在此答案的评论中添加的代码:)

答案 1 :(得分:0)

希望这会对你有所帮助。以下内容将打印文件对象的所有属性。

用于打印json对象值的HTML标记

<ul id="list"></ul>

您可以使用Object.Keys()获取javascript对象的属性。

<强>脚本

&#13;
&#13;
var jsonString = '{"files":[{"name":"MY_PICTURE.JPG","size":79362,"type":"image\/jpeg","url":"https:\/\/www.mysite.com\/lib\/plugins\/jQuery-File-Upload-9.11.2\/server\/php\/files\/55_ads_1_preuzmi.jpg","mediumUrl":"https:\/\/www.mysite.com\/lib\/plugins\/jQuery-File-Upload-9.11.2\/server\/php\/files\/medium\/55_ads_1_preuzmi.jpg","thumbnailUrl":"https:\/\/www.mysite.com\/lib\/plugins\/jQuery-File-Upload-9.11.2\/server\/php\/files\/thumbnail\/55_ads_1_preuzmi.jpg","deleteUrl":"https:\/\/www.mysite.com\/lib\/plugins\/jQuery-File-Upload-9.11.2\/server\/php\/index.php?file=55_ads_1_preuzmi.jpg","deleteType":"DELETE"}]}';

var myData = $.parseJSON(jsonString);
$(document).ready(function() {
    var $list = $('#list');
    $.each(myData.files, function(i,v) { // Iterate over the files collection
         var keys = Object.keys(v);
        $.each(keys, function(i,g){ // Iterate over the properties of each file object
               $('<li>' + '<b>' +  g + '</b>' +  " - "  + v[g] +  '</li>').appendTo($list);
              
        });
    });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<ul id="list"></ul>
&#13;
&#13;
&#13;