te')); return $arr; } /* 遍历用户所有主题 * @param $uid 用户ID * @param int $page 页数 * @param int $pagesize 每页记录条数 * @param bool $desc 排序方式 TRUE降序 FALSE升序 * @param string $key 返回的数组用那一列的值作为 key * @param array $col 查询哪些列 */ function thread_tid_find_by_uid($uid, $page = 1, $pagesize = 1000, $desc = TRUE, $key = 'tid', $col = array()) { if (empty($uid)) return array(); $orderby = TRUE == $desc ? -1 : 1; $arr = thread_tid__find($cond = array('uid' => $uid), array('tid' => $orderby), $page, $pagesize, $key, $col); return $arr; } // 遍历栏目下tid 支持数组 $fid = array(1,2,3) function thread_tid_find_by_fid($fid, $page = 1, $pagesize = 1000, $desc = TRUE) { if (empty($fid)) return array(); $orderby = TRUE == $desc ? -1 : 1; $arr = thread_tid__find($cond = array('fid' => $fid), array('tid' => $orderby), $page, $pagesize, 'tid', array('tid', 'verify_date')); return $arr; } function thread_tid_delete($tid) { if (empty($tid)) return FALSE; $r = thread_tid__delete(array('tid' => $tid)); return $r; } function thread_tid_count() { $n = thread_tid__count(); return $n; } // 统计用户主题数 大数量下严谨使用非主键统计 function thread_uid_count($uid) { $n = thread_tid__count(array('uid' => $uid)); return $n; } // 统计栏目主题数 大数量下严谨使用非主键统计 function thread_fid_count($fid) { $n = thread_tid__count(array('fid' => $fid)); return $n; } ?>Getting specific value from JSON using javascript - Stack Overflow
最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Getting specific value from JSON using javascript - Stack Overflow

programmeradmin4浏览0评论

I am using ajax to get a small set of data back from the server which returns JSON data with the following format:

{
    "data": [
        {
            "id": "1",
            "value": "One"
        },
        {
            "id": "2",
            "value": "Two"
        },
        {
            "id": "3",
            "value": "Three"
        }
    ]
}

On the client side, this is assigned to a variable named response. I use response.data to get the contents.

The question is, is there an easier way to get the value without doing a loop? I'm kinda looking for something like this response[id==2].value which should give me "Two".

I'm open for any suggestions if this is not possible.

I am using ajax to get a small set of data back from the server which returns JSON data with the following format:

{
    "data": [
        {
            "id": "1",
            "value": "One"
        },
        {
            "id": "2",
            "value": "Two"
        },
        {
            "id": "3",
            "value": "Three"
        }
    ]
}

On the client side, this is assigned to a variable named response. I use response.data to get the contents.

The question is, is there an easier way to get the value without doing a loop? I'm kinda looking for something like this response[id==2].value which should give me "Two".

I'm open for any suggestions if this is not possible.

Share Improve this question edited Aug 19, 2013 at 5:06 Mr_Green 41.8k47 gold badges170 silver badges276 bronze badges asked Aug 19, 2013 at 5:03 RavenXVRavenXV 3771 gold badge5 silver badges15 bronze badges 3
  • duplicate? stackoverflow./questions/8481380/… – Oleg Mikheev Commented Aug 19, 2013 at 5:05
  • 1 I understand your question but in your case this can be done.. response.data[2-1].value – Mr_Green Commented Aug 19, 2013 at 5:09
  • http://jsfiddle/uHbZt/8/ This? – user2587132 Commented Aug 19, 2013 at 5:17
Add a ment  | 

2 Answers 2

Reset to default 7

You could take a functional approach and use the Array.filter method:

var matchingResults = JSON['data'].filter(function(x){ return x.id == 2; });
// procede to use matching elements...

If you parse it into a javascript object using something like jQuery's json parse method, you could just reference the various items in the array like a normal javascript array.

Do it like this:

var dataArray = $.parseJSON(myJson).data;

var theFirstData = dataArray[0]; //get the data with id "1"

Alternately, if you don't want to use jQuery, you can use JSON.parse(jsonToParse). Here're the docs for that method.

发布评论

评论列表(0)

  1. 暂无评论