从文件中读取JSON对象

问题描述:

[{ 
    "Id": 2, 
    "Stock": [{ 
     "Id": 1, 
     "available": 4, 
     "Price": 188.03 
    }, { 
     "Id": 24703, 
     "available": 6, 
     "Price": 175.35 
    }, { 
     "Id": 49405, 
     "available": 10, 
     "Price": 249.52 
    }, { 
     "Id": 74107, 
     "available": 13, 
     "Price": 226.46 
}] 

基于使用JavaScript的上述JSON对象,我将如何根据可用字段获取价格字段的值?我知道如何获得位置1的股票的价格价值,但我想要做的是根据条件价值获取价格价值。从文件中读取JSON对象

+0

你已经在使用JQuery的?你想要一个带或不带JQuery的解决方案吗?简短的回答是:获取它与ajax获取请求 –

+0

我使用jQuery来获得任何价格的股票[我],我需要的是基于可用的价格获得价格 –

+0

另一个问题:你问如何获取从文件或只是如何根据某些标准从股票数组中获取特定对象? –

您可以尝试find()方法来查找数组以找到特定元素。

+0

请注意,如果您需要像IE一样支持旧浏览器,find()不可用。 –

尝试

var list_of_wanted_stock = json_value.Stock.filter(function(e) { 
    return (/*condition for the stock you want where e is a stock object*/); 
}) 

您可以使用地图和过滤如下,下面的函数找到股票可用= 10,你可以修改这个条件按您的要求

 var data = [{ 
     "Id": 2, 
     "Stock": [{ 
      "Id": 1, 
      "available": 4, 
      "Price": 188.03 
     }, { 
      "Id": 24703, 
      "available": 6, 
      "Price": 175.35 
     }, { 
      "Id": 49405, 
      "available": 10, 
      "Price": 249.52 
     }, { 
      "Id": 74107, 
      "available": 13, 
      "Price": 226.46 
     }]}]; 

     var dataToBeSearched = data[0].Stock; 

     var result = dataToBeSearched.map(function(a){ 
         if(a.available == 10){ 
         return a; 
         } 
         }).filter(function(element) { 
        return element !== undefined; 
        }); 
     console.log(result);