关于json数据的过滤、获取

json数据:book.json

{
    "store": {
        "book": [
            {
                "category": "文学",
                "author": "路遥",
                "title": "平凡的世界",
                "price": 8.95
            },
            {
                "category": "文学",
                "author": "席慕蓉",
                "title": "穆斯林的葬礼",
                "price": 12.99
            },
            {
                "category": "历史",
                "author": "二月河",
                "title": "康熙大帝",
                "isbn": "0-553-21311-3",
                "price": 8.99
            },
            {
                "category": "言请",
                "author": "琼瑶",
                "title": "还珠格格",
                "isbn": "0-395-19395-8",
                "price": 22.99
            }
        ],
        "bicycle": {
            "color": "red",
            "price": 19.95
        }
    },
    "expensive": 10
}

处理、过滤:

import json
import jsonpath

#将json格式字符串转化为python对象
ojb = json.load(open(‘book.json‘,‘r‘,encoding=‘utf8‘))
#print(ojb)

#查找所有书的所有作者
#book是一个列表
#ret = jsonpath.jsonpath(ojb,‘$.store.book[*].author‘) #book[*]找所有 后面要加*
#ret= jsonpath.jsonpath(ojb,‘$..author‘)
#print(ret)

#查找store下面所有字典  返回一个列表
# ret= jsonpath.jsonpath(ojb,‘$.store.*‘)
# print(len(ret))

#查找store下面所有的price
# ret= jsonpath.jsonpath(ojb,‘$.store..price‘)
# print(ret)
# print(len(ret))

#找第三本书  返回一个列表
# ret= jsonpath.jsonpath(ojb,‘$..book[2]‘)    #json的下标是从0开始
# ret= jsonpath.jsonpath(ojb,‘$..book[0,1]‘) # 找前两本书
# print(ret)
# print(len(ret))

#找最后一本书
# ret= jsonpath.jsonpath(ojb,‘$..book[(@.length-1)]‘)
# print(ret)
# print(len(ret))

#有isbn元素的书
#ret= jsonpath.jsonpath(ojb,‘$..book[?(@.isbn)]‘)
# print(ret)
# print(len(ret))

#找键price:价格低于10的书
ret= jsonpath.jsonpath(ojb,‘$..book[?(@.price<10)]‘)
print(ret)
print(len(ret))

json数据、python对象、字典格式的相互转化

jsonpath模块
用来解析josn数据使用的
python处理josn格式用到的函数
    import json
    json.dumps() :将字典或者列表转化为json格式的字符串
    json.loads() :将json格式的字符串转化为python对象
    记忆方法:前两个有s,是字符串和两个格式之间的转化

    json.dump() :将字典或者列表转化为json格式的字符串并且写入到文件中
    json.load() :从文件中读取json格式字符串,转化为python对象
    记忆方法:后两个不带s,属于写入文件和从文件中读取

import json
it = [{‘name‘:‘王二小‘,‘age‘:‘30‘},
      {‘name‘:‘周三‘,‘age‘:‘29‘},
      {‘name‘:‘李四‘,‘age‘:‘28‘},
      {‘name‘:‘王五‘,‘age‘:‘27‘}
      ]
string = json.dumps(it) #将字典或者列表转化为json格式的字符串
#print(string)

obj = json.loads(string)  #将json格式的字符串转化为python对象
#print(type(obj))

原文地址:https://www.cnblogs.com/Qiuzhiyu/p/12183008.html

时间: 2024-10-14 20:54:54

关于json数据的过滤、获取的相关文章

django 返回json数据,jquery获取并且打印出来

视图代码: import json   def test(request):     pie_list = [[u'北京',50],[u'上海',20],[u'广州',30]]     t_country = [u'北京',u'上海',u'广州']     t_country_count = [50,20,30]     data_dic = {'pie_g':pie_list,'t_country':t_country,'t_county_count':t_country_count}    

AJAX MVC 服务器返回Json数据,客户端获取Json数据

<> 控制器 Controller using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Web.Script.Serialization; namespace MvcApplication2.Controllers { public class HomeController : Controller { pu

AJAX MVC server返回Json数据,client获取Json数据

<> 控制器 Controller using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Web.Script.Serialization; namespace MvcApplication2.Controllers { public class HomeController : Controller { pu

php的curl获取https加密协议请求返回json数据进行信息获取

欢迎增加php架构师之旅 群:410028331(招纳贤人-大师中)方便技术的交流 <?php header("Content-type:text/html; charset=utf-8"); function getToken($url){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); //相当关键,这句话是让curl_exec

Android开发之JSON数据发送与获取

刚在工作中遇到 415类型的错误: 分析原因后得知:1,数据设置错误: 2,没有这句 httpPost.setHeader("Content-Type", "application/json"); 1 private void testFunction(){ 2 try { 3 4 HttpClient httpClient = new DefaultHttpClient(); 5 String url = "http://203.191.101.122:

C#中怎么解析JSON数据,并获取到其中的值?

[1]首先我们根据创建一个json字符转 string json = @"[{'phantom':true,'id':'20130717001','data':{'MID':1019,'Name':'aaccccc','Des':'cc','Disable':'启用','Remark':'cccc'}}]"; [2]首先我们根据创建一个json字符转 我们根据字符串的数据结构定义两个类: public class Info        {            public stri

JQuery UI获取JSON数据

最近在学习用JQuery UI开发一个界面,这是javascript的一个框架,功能强大,界面漂亮. 首先要下载JQuery UI的包,引入里面的文件: <link href="jquery-ui.css" rel="stylesheet"> <script src="external/jquery/jquery.js"></script> <script src="jquery-ui.js&q

IOS开发使用NSJSONSerialization、JSONKit、SBJson、TouchJson四种方式解析Json数据

概括:JSON数据解析可以使用苹果自带的NSJSONSerialization方式,也可以使用第三方框架,比如JSONKit.SBJson.TouchJSON等,框架的使用方式比较简单,但性能比ios原生方式差很多,建议使用原生方式. 1 NSJSONSerialization,IOS原生 /** *  解析JSON数据 */ -(void) analysisJSON{ // 获取URL NSURL *url = [[NSURL alloc] initWithString:@"http://lo

微信小程序 WXS实现json数据需要做过滤转义(filter)

前言 最近有在做小程序开发,在开发的过程中碰到一点小问题,描述一下先. 本人在职的公司对于后台获取的 json 数据需要做过滤转义的很多,不同的状态码会对应不同的文字,但是在微信小程序中又没有类似 vue 中的 | 方法进行快速的过滤,大都是用数据遍历洗数据来实现的,说实话,很麻烦,即使提取了公共方法那也麻烦,总之要洗数据就麻烦 WXS 为何物 在上代码之前先简单的介绍一下 WXS 是什么,以及和 javascript 有什么区别,虽然官方文档中都有,但我认为博客的存在意义就是尽量减少看官们的页