python实现提取str字符串/json中多级目录下的某个值

字符串多级目录取值:

比如说:

你response接收到的数据是这样的。

你现在只需要取到itemstring 这个字段下的值。其他的都不要!

思路就是:字符串是个json格式(或转为json格式),然后str转为字典dict,然后循环遍历按照key来取值。

你的data是个字典 然后item_list是data的Key ,item_list是个数组,这个里面的数组中的每个元素都是一个字典。

因此就是dict多级路径按key取值。

# 多级目录提取-dict
print(type(response))
print(type(response.text))
result = json.loads(resp.text) # 字符串转字典
print(type(result))
for i in result["data"]["item_list"]:
 print(i["itemstring"])

结果》》》
<class 'requests.models.Response'>
<class 'str'>
<class 'dict'>
提取的值。。。。。。出现

最后获取出来的是:

所有itemstring字段的值:(遍历出来的)

看得懂的就是需要的。这是我调用腾讯API,然后出现返回值是一个含有N个字段的json数据,最后我提取出来OCR识别的部分。其他的没有要。

补充拓展:按照Json的层级提取各个字段的实例

如下所示:

 String s = "{\"error\":0,\"status\":\"success\",\"results\":[{\"currentCity\":\"青岛\",\"index\":[{\"title\":\"穿衣\",\"zs\":\"较冷\",\"tipt\":\"穿衣指数\",\"des\":\"建议着厚外套加毛衣等服装。年老体弱者宜着大衣、呢外套加羊毛衫。\"},{\"title\":\"紫外线强度\",\"zs\":\"最弱\",\"tipt\":\"紫外线强度指数\",\"des\":\"属弱紫外线辐射天气,无需特别防护。若长期在户外,建议涂擦SPF在8-12之间的防晒护肤品。\"}],}]}";

 JSONObject jsonObject = JSON.parseObject(s);

 //提取出error为 0
 int error = (int) jsonObject.get("error");
 System.out.println("error:" + error);

 //提取出status为 success
 String status = jsonObject.getString("status");
 System.out.println("status:" + status);

 //注意:results中的内容带有中括号[],所以要转化为JSONArray类型的对象
 JSONArray result = jsonObject.getJSONArray("results");

 for (int i = 0; i < result.size(); i++) {
  //提取出currentCity为 青岛
  String currentCity = result.getJSONObject(i).getString("currentCity");
  System.out.println("currentCity:" + currentCity);

  //注意:index中的内容带有中括号[],所以要转化为JSONArray类型的对象
  JSONArray index = result.getJSONObject(i).getJSONArray("index");

  for (int j = 0; j < index.size(); j++) {
  String title = index.getJSONObject(j).getString("title");
  System.out.println("title:" + title);
  String zs = index.getJSONObject(j).getString("zs");
  System.out.println("zs:" + zs);
  String tipt = index.getJSONObject(j).getString("tipt");
  System.out.println("tipt:" + tipt);
  String des = index.getJSONObject(j).getString("des");
  System.out.println("des:" + des);

  }
 }
 }

以上这篇python实现提取str字符串/json中多级目录下的某个值就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Python JSON格式数据的提取和保存的实现

    环境:python-3.6.5 JSON JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写.同时也方便了机器进行解析和生成.适用于进行数据交互的场景,比如网站前台与后台之间的数据交互. Python中自带了json模块,直接import json即可使用 官方文档:https://docs.python.org/3/library/json.html Json在线解析网站:https://www.json.cn/# j

  • Python使用re模块正则提取字符串中括号内的内容示例

    本文实例讲述了Python使用re模块正则提取字符串中括号内的内容操作.分享给大家供大家参考,具体如下: 直接上代码吧: # -*- coding:utf-8 -*- #! python2 import re string = 'abe(ac)ad)' p1 = re.compile(r'[(](.*?)[)]', re.S) #最小匹配 p2 = re.compile(r'[(](.*)[)]', re.S) #贪婪匹配 print(re.findall(p1, string)) print(

  • python中从str中提取元素到list以及将list转换为str的方法

    在python中时常需要从字符串类型str中提取元素到一个数组list中,例如str是一个逗号隔开的姓名名单,需要将每个名字提取到一个元素为str型的list中. 如姓名列表str = 'Alice, Bob, John',需要将其提取为name_list = ['Alice', 'Bob', 'John']. 而反过来有时需要将一个list中的字符元素按照指定的分隔符拼接成一个完整的字符串.好在python中str类型本身自带了两种方法(method)提供了相应的功能. str转为list 使

  • python实现提取str字符串/json中多级目录下的某个值

    字符串多级目录取值: 比如说: 你response接收到的数据是这样的. 你现在只需要取到itemstring 这个字段下的值.其他的都不要! 思路就是:字符串是个json格式(或转为json格式),然后str转为字典dict,然后循环遍历按照key来取值. 你的data是个字典 然后item_list是data的Key ,item_list是个数组,这个里面的数组中的每个元素都是一个字典. 因此就是dict多级路径按key取值. # 多级目录提取-dict print(type(respons

  • js获取json中key所对应的value值的简单方法

    实例如下: <script type="text/javascript"> getJson('age'); function getJson(key){ var jsonObj={"name":"傅红雪","age":"24","profession":"刺客"}; //1.使用eval方法 var eValue=eval('jsonObj.'+key);

  • python获取文件后缀名及批量更新目录下文件后缀名的方法

    本文实例讲述了python获取文件后缀名及批量更新目录下文件后缀名的方法.分享给大家供大家参考.具体实现方法如下: 1. 获取文件后缀名: 复制代码 代码如下: #!/usr/bin/python import os dict = {} for d, fd, fl in os.walk('/home/ahda/Program/'):         for f in fl:                 sufix = os.path.splitext(f)[1][1:]           

  • python系统指定文件的查找只输出目录下所有文件及文件夹

    修改python运行路径 import os os.chdir('C:/Users/86177/Desktop') os.chdir(r'C:\Users\86177\Desktop') os.chdir('C:\\Users\\86177\\Desktop') 路径加载连接的三种方式:'/'. '\' . r'' 获得当前python程序运行路径 import os print(os.getced()) 输出结果为:'C:\Users\86177\Desktop'(当前程序在的路径) pyth

  • 读写Android中assets目录下的文件的方法详解

    Android资源文件大致可以分为两种: 第一种是res目录下存放的可编译的资源文件: 这种资源文件系统会在R.java里面自动生成该资源文件的ID,所以访问这种资源文件比较简单,通过R.XXX.ID即可: 第二种是assets目录下存放的原生资源文件: 因为系统在编译的时候不会编译assets下的资源文件,所以我们不能通过R.XXX.ID的方式访问它们.那我么能不能通过该资源的绝对路径去访问它们呢?因为apk安装之后会放在/data/app/**.apk目录下,以apk形式存在,asset/r

  • 实例讲解Python中global语句下全局变量的值的修改

    Python的全局变量:int string, list, dic(map) 如果存在global就能够修改它的值.而不管这个global是否是存在于if中,也不管这个if是否能够执行到. 但是,如果没有 if bGlobal: global g_strVal; int string 将会报错.而list dic(map)是ok的. #!/usr/bin/dev python import sys import os g_nVal = 0; g_strVal = "aaaa"; g_m

  • python 提取tuple类型值中json格式的key值方法

    标题比较麻烦,都有些叙述不清:昨天下午在调试接口框架的时候,遇到了一个问题是这样的: 使用python 写了一个函数,return 了两个返回值比如 return a,b 于是返回的a,b 是tuple类型,比如值是actual.那么,得到a,b分别是actual[0] ,actual[1]这样的.而目前,actual[0]的值是这样的: {"code":"m0001","result":True} ,但是我想得到code的key值 m0001

  • Python字符串str和json格式相互转换

    目录 1.通过json.loads进行转换 2.json转str 3.通过eval 前言: str转换为json格式,前提一定需要保证这个str的格式和json是一致的,即左边最外层是大括号,右边的最外层是大括号.如果不一致,推荐用正则进行拆分至和json格式一致 1. 通过json.loads进行转换 import json str = '{"name": "御姐", "age": 18}' j = json.loads(str) print(

  • 浅谈python中str字符串和unicode对象字符串的拼接问题

    str字符串 s = '中文' # s: <type 'str'> s是个str对象,中文字符串.存储方式是字节码.字节码是怎么存的: 如果这行代码在python解释器中输入&运行,那么s的格式就是解释器的编码格式: 如果这行代码是在源码文件中写入.保存然后执行,那么解释器载入代码时就将s初始化为文件指定编码(比如py文件开头那行的utf-8): unicode对象字符串 unicode是一种编码标准,具体的实现可能是utf-8,utf-16,gbk等等,这就是中文字符串和unicod

  • 使用python如何提取JSON数据指定内容

    目录 python提取JSON数据指定内容 假设我们要获取'pic_str'里的数据 1.JSON数据为字符串类型 2.JSON数据为字典类型 python提取复杂JSON的数据 例子 解决方法 api 提取元素 应用场景 python提取JSON数据指定内容 假设我们要获取'pic_str'里的数据 JSON数据 {'err_no': 0, 'err_str': 'OK', 'pic_id': '1169213517976400008', 'pic_str': 'xoet', 'md5': '

随机推荐