如何处理json数据

json是一种数据格式,其实就是python字典(有些微的区别,自行百度),有时我们得到的是字符串格式,需要json.load来转化一下

一般我们从网页里得到,从文件里得到,读进来是字符串格式

我进行了几个测试,然后就知道它是怎么用的了

#coding ='utf-8'
import urllib2
import json
import requests
import sys
reload(sys)
# sys_type = sys.getfilesystemencoding()
# sys.setdefaultencoding('utf-8')
# sys.setdefaultencoding(sys_type)

def test1():
    print 'test1: from Internet '
    html = requests.get('http://api.douban.com/v2/book/isbn/9787218087351')
    print type(html.text)
    hjson = json.loads(html.text)
    print hjson['msg']

def test2():
    print 'test12: from string '
    data_str = '{"fields":["name","menu_items","location","categories","description"],"menu_item_queries":[{"price":{"$ge":6},"name":"beer"}],"venue_queries":[{"location":{"locality":"San Francisco"}}],"api_key":"YOUR_API_KEY"}'
    data = json.loads(data_str)

    print data['api_key']
    print data['venue_queries'][0]['location']['locality']

def test3():
    print 'test3: from line-feed string '
    data_str2 = '{"fields":["name","menu_items","location","categories","description"],\
    "menu_item_queries":[{"price":{"$ge":6},"name":"beer"}],\
    "venue_queries":[{"location":{"locality":"San Francisco"}}],"api_key":"YOUR_API_KEY"}'

    data2 = json.loads(data_str2)
    print data2['api_key']
    print data2['venue_queries'][0]['location']['locality']

def test4():
    print 'the str is from Internet (same as test1)'
    from_url_str  = '{"msg":"invalid_request_scheme: http","code":100,"request":"GET \/v2\/book\/isbn\/9787218087351"}'
    data = json.loads(from_url_str)
    print data['msg']


def test5():
    print 'test5: from dict '
    data_dict = {"fields":["name","menu_items","location","categories","description"],\
        "menu_item_queries":[{"price":{"$ge":6},"name":"beer"}],\
        "venue_queries":[{"location":{"locality":"San Francisco"}}],"api_key":"YOUR_API_KEY"}
    print data_dict['api_key']
    print data_dict['venue_queries'][0]['location']['locality']

test1()
test2()
test3()
test4()
test5()
print 'ok'


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值