按key值查找json数据中对应的值

按key值查找json数据中对应的值


json数据如下:



var data={
    "transport_station_id": "1",
    "transport_station_tel": "13957708561",
    "carrier_driver_id": 0,
    "carrier_driver_name": "李明星",
    "carrier_driver_phone": "188****5026",
    "estimate_arrive_time": null,
    "order_total_delivery_cost": 0,
    "order_total_delivery_discount": 0,
    "order_status": 3,
    "abnormal_code": "",
    "abnormal_desc": "",
    "event_log_details": [
      {
        "order_status": 1,
        "occur_time": 1503296985000,
        "carrier_driver_name": "杨超",
        "carrier_driver_phone": "188****5026"
      },
      {
        "order_status": 20,
        "occur_time": 1503297045000,
        "carrier_driver_name": "李明星",
        "carrier_driver_phone": "188****5026"
      },
      {
        "order_status": 80,
        "occur_time": 1503297105000,
        "carrier_driver_name": "李明星",
        "carrier_driver_phone": "188****5026"
      },
      {
        "order_status": 2,
        "occur_time": 1503297165000,
        "carrier_driver_name": "李明星",
        "carrier_driver_phone": "188****5026"
      },
      {
        "order_status": 3,
        "occur_time": 1503297225000,
        "carrier_driver_name": "李明星",
        "carrier_driver_phone": "188****5026"
      }
    ]
  }

深度遍历json对象:


var arr=[]
function deepTraverse(json,key) {
    // 1. 变量为json对象:将item输出,value进行递归
     if(isType(json, "Object")){
          for(var item in json){
            if (item==key) {
                arr.push(json[key])

            }

           if(isType(json[item], "Array") || isType(json[item], "Object")){

           }
           deepTraverse(json[item],key);
          }
     }
     // 2. 变量为json数组:逐个元素递归
     else if(isType(json, "Array")){
          for(var i=0; i<json.length; i++){
               var jsonObj = json[i];
               deepTraverse(jsonObj,key);
              // 遍历数组中的元素(为json对象)后输出
              if(isType(jsonObj, "Object")){

               }
          }
     }
     // 3. 变量为简单数据类型:直接输出(递归函数的终止条件)
     else if(isType(json, "String") || isType(json, "Number") ||
      isType(json,"Boolean") || isType(json,"Null")){

     }

}

判断json数据类型

function isType(obj,type){
    return Object.prototype.toString.call(obj) ==="[object "+type+"]";
}
deepTraverse(data,'carrier_driver_name')
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在JSON文件查找指定数据,可以使用Python的内置模块`json`。以下是一些示例代码,可以帮助您开始: ```python import json # 打开JSON文件 with open('data.json') as f: data = json.load(f) # 查找指定数据 if 'key' in data: value = data['key'] # 执行相关操作 else: # 没有找到指定的键 ``` 在上面的代码,我们首先使用`json.load()`函数加载JSON文件数据,并将其存储在`data`变量。然后,我们检查`data`是否包含一个名为`key`的键,如果是,我们将相应的存储在`value`变量,并执行我们想要执行的任何操作。如果没有找到指定的键,我们可以执行其他操作或给出相应的错误提示。 ### 回答2: 在Python,要在JSON文件查找指定数据,可以使用以下步骤: 1. 导入json模块:首先,需要导入Python的内置json模块,以便能够处理JSON数据。 2. 打开JSON文件:使用`open()`函数以读取模式打开JSON文件,并将其分配给一个文件对象。 3. 解析JSON数据:使用`json.load()`函数将文件对象作为参数传递给它,以解析JSON数据并将其转换为Python对象。这将返回一个表示JSON数据的字典、列表或其他数据结构。 4. 查找指定数据:通过使用Python的字典或列表操作,可以按照需要在JSON数据查找指定的数据。 例如,如果我们的JSON数据如下所示: ``` { "name": "John", "age": 25, "city": "New York" } ``` 我们可以使用以下代码查找名为"city"的: ```python import json # 打开JSON文件 with open('data.json') as file: # 解析JSON数据 data = json.load(file) # 查找指定数据 city = data["city"] # 打印结果 print(city) ``` 上述代码将打印出"New York",即JSON数据"city"键对应。根据实际需要,可以进一步对数据进行处理或进行其他操作。 ### 回答3: 要在JSON文件查找指定数据,可以使用Python提供的内置模块json。 首先,导入json模块: import json 然后,打开JSON文件并读取数据: with open('data.json', 'r') as file: data = json.load(file) 接下来,使用循环遍历数据查找指定的数据: for item in data: if item['key'] == 'value': # 找到了指定数据 print(item) 其,'key'表示要查找的键,'value'表示要查找。可以根据实际的JSON文件进行修改。 如果找到满足条件的数据,可以对其进行进一步的操作,比如修改或删除。 最后,记得关闭文件: file.close() 总结起来,使用Python查找JSON文件的指定数据,首先需要导入json模块,然后读取JSON文件的数据,再使用循环遍历数据进行查找
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值