如何获取json对象中的特定值?

{
    "id": "some",
    "title": "some",
    "author": {
        "name": "\u95eb\u9759"
    },
    "link": [{
        "@attributes": {
            "href": "http://localhost/",
            "rel": "some"
        }
    },
    {
        "@attributes": {
            "href": "http://localhost/",
            "rel": "some"
        }
    },
    {
        "@attributes": {
            "href": "http://localhost/",
            "rel": "some"
        }
    }]
}

如上,对于服务器返回的json数据,如何获取Link中第一个@attributes的href值?

阅读 32.4k
3 个回答
var req = { ...你的返回对象... };
var first_href_val = req.link[0]['@attributes'];
新手上路,请多包涵

function getJsonValue(obj,name){ var result = null; var value = null; for(var key in obj){ value = obj[key]; if(key == name){ return value; } else { if( typeof value == "object" ){ result = getJsonValue(value,name); } } } return result; }

采用递归方式来查找josn中的你需要的key.

但是还不支持 数组,你可以自己扩充,思路就是这样!

var taskId = getJsonValue(jsonobj,"history");
console.log(taskId);
var jsonobj = { "semantic":{"taskId":"8.4.3"},"history":"cn.xxxx.fund"};
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题