如何使用JavaScript从JSON字典中获取第一个值

How to get the first value from a JSON dictionary using JavaScript

本文关键字:获取 第一个 字典 JSON 何使用 JavaScript      更新时间:2023-09-26

我有一个列出的JSON响应,我想访问第一个"name": "Facebook, Inc."

{
    "ResultSet": {
        "Query": "FB",
        "Result": [{
            "symbol": "FB",
            "name": "Facebook, Inc.",
            "exch": "NAS",
            "type": "S",
            "exchDisp": "NASDAQ",
            "typeDisp": "Equity"
        }, {
            "symbol": "FBIOX",
            "name": "Fidelity Select Biotechnology Portfolio",
            "exch": "NAS",
            "type": "M",
            "exchDisp": "NASDAQ",
            "typeDisp": "Fund"
        }, {
            "symbol": "FBP",
            "name": "First Bancorp",
            "exch": "NYQ",
            "type": "S",
            "exchDisp": "NYSE",
            "typeDisp": "Equity"
        }, {
            "symbol": "FBNK",
            "name": "First Connecticut Bancorp, Inc.",
            "exch": "NMS",
            "type": "S",
            "exchDisp": "NASDAQ",
            "typeDisp": "Equity"
        }, {
            "symbol": "FBHS",
            "name": "Fortune Brands Home & Security, Inc.",
            "exch": "NYQ",
            "type": "S",
            "exchDisp": "NYSE",
            "typeDisp": "Equity"
        }, {
            "symbol": "FB2A.DE",
            "name": "Facebook, Inc.",
            "exch": "GER",
            "type": "S",
            "exchDisp": "XETRA",
            "typeDisp": "Equity"
        }, {
            "symbol": "FBIZ",
            "name": "First Business Financial Services, Inc.",
            "exch": "NMS",
            "type": "S",
            "exchDisp": "NASDAQ",
            "typeDisp": "Equity"
        }, {
            "symbol": "FBR",
            "name": "Fibria Celulose S.A.",
            "exch": "NYQ",
            "type": "S",
            "exchDisp": "NYSE",
            "typeDisp": "Equity"
        }, {
            "symbol": "FBC",
            "name": "Flagstar Bancorp Inc.",
            "exch": "NYQ",
            "type": "S",
            "exchDisp": "NYSE",
            "typeDisp": "Equity"
        }, {
            "symbol": "FFG",
            "name": "FBL Financial Group Inc.",
            "exch": "NYQ",
            "type": "S",
            "exchDisp": "NYSE",
            "typeDisp": "Equity"
        }]
    }
}

我使用了以下JavaScript代码来获得值:

     var res = jQuery.map(data.ResultSet.Result, function (item) {
     var asset = {
     symbol:item.symbol,
     name:item.name,
     type:item.type,
     exch:item.exchDisp
            }; 
     var cname=asset.name

但是我将姓氏输入到变量CCD_ 2中。如何将名字输入cname

您得到最后一个值是因为您在map中使用了它。

当映射新项目时,它将取代以前的cname,因为它每次都创建新的cname

cname置于map 之外

像这个

var res = jQuery.map(data.ResultSet.Result, function(item) {
    var asset = {
        symbol: item.symbol,
        name: item.name,
        type: item.type,
        exch: item.exchDisp
    };
    return asset;
});
var cname = res[0].name
var resultArray = data.ResultSet.Result;
var cname = "";
var firstRecord = resultArray[0];
cname = firstRecord.name;

我会使用lodash的find函数,如下所示:

var target = _.find(data.ResultSet.Result, function(r){
    return r.name === "Facebook, Inc.";
})

这是一个jsfiddle:

https://jsfiddle.net/mckinleymedia/hxnp99vg/

这将在数组中找到与返回中的条件语句匹配的第一个对象:r.name=="Facebook,股份有限公司".