美文网首页
python解析json

python解析json

作者: 旅行家John | 来源:发表于2017-01-09 14:08 被阅读305次

    相对于python解析XML来说,我还是比较喜欢json的格式返回,现在一般的api返回都会有json与XML格式的选择,json的解析起来个人觉得相对简单些,先看一个简单车辆查询的api返回!

    importurllib2

    importjson

    html=urllib2.urlopen(r'自己的APi接口')

    hjson=json.loads(html.read())

    printhjson['bike_code']

    printhjson['lend_card_in_no']

    printhjson['update_time']

    等程序运行的时候,出现如下错误:

    Python中使用json.loads解码字符串时出错:ValueError: Expecting property name: line 1 column 1 (char 1)

    原因是JSON格式里面有单引号,改成双引号就可以了,但是又出现了新的错误。

    【总结】

    此处的

    ValueError: Expecting property name: line 1 column 1 (char 1)

    属性没有加双引号导致

    ValueError: No JSON object could be decoded

    属性值没加双引号导致出错

    类型的错误,就是由于JSON中,标准语法中,不支持单引号,

    属性或者属性值,都必须是双引号括起来的。

    所以,可以用类似于:

    addedSingleQuoteJsonStr = re.sub(r"(,?)(\w+?)\s*?:",r"\1'\2':", orginalJsonStr);

    doubleQuotedJsonStr = addedSingleQuoteJsonStr.replace("'","\"");

    的代码,用正则表达式来处理数据,这个接下来自己好好看看!自己还不会这个

    1:给属性添加单引号;

    2:给属性值添加单引号;

    3:把所有的单引号替换成双引号;

    参考文章:http://my.oschina.net/yangyanxing/blog/159211

    相关文章

      网友评论

          本文标题:python解析json

          本文链接:https://www.haomeiwen.com/subject/uuicbttx.html