码迷,mamicode.com
首页 > Web开发 > 详细

处理JSON格式的文件-系列Error

时间:2019-07-14 10:55:22      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:object   price   解码   rabl   code   and   格式   list   database   


title: 内置数据结构-文件处理
subtitle: 处理JSON格式的文件
date: 2018-12-14 10:17:28
---

JSON的Error汇总

本文档主要记录了处理JSON文件一系列Error等。

1. json.decoder.JSONDecodeError: Expecting value: line 27290 column 3 (char 1035661)

  • 类型错误:JSON解码错误
  • 排错思路:1. 最大的可能就是原来的大JSON文件格式出现错误,比如原JSON正确的格式为: {"a":"1","b":{"c":"1","d":{} }}, 你的JSON格式为: {"a":"1","b":{"c":"1","d": }}, 缺少"d":对应的value:{}
  • 解决方法:修改,保证大JSON格式正确。

2. KeyError: ‘databaseEdition‘

  • 类型错误:数据请求错误。
  • 排错思路:这是我处理JSON文件时候遇到的一个错误,特别少见,没有get字段。

    for attr in rdsattributes:
      rdsondemand_output[sku][attr] = data['products'][sku]["attributes"][attr]
  • 解决方法:

    for attr in rdsattributes:
      rdsondemand_output[sku][attr] = data['products'][sku]["attributes"].get(attr)

3. AttributeError: ‘dict‘ object has no attribute ‘value‘

  • 类型错误:属性错误,dict对象没有对应的属性
  • 排错思路:属性/方法用错

    rdsondemand_output[sku]['unit'] =       list(list(data['terms']['OnDemand'][sku].value)[0]["priceDimensions"].value)[0]["unit"]
  • 解决方法:注意,下面的方法仍然用错

    rdsondemand_output[sku]['unit'] =       list(list(data['terms']['OnDemand'][sku].values)[0]["priceDimensions"].values)[0]["unit"]

4. TypeError: ‘builtin_function_or_method‘ object is not iterable

  • 类型错误:类型错误,输入错误的对象导致没有办法迭代
  • 排错思路:values()属性, ()里面代表的是一坨大value。

    rdsondemand_output[sku]['unit'] =       list(list(data['terms']['OnDemand'][sku].values)[0]["priceDimensions"].values)[0]["unit"]
  • 解决方法:

    rdsondemand_output[sku]['unit'] =       list(list(data['terms']['OnDemand'][sku].values())[0]["priceDimensions"].values())[0]["unit"]

5. TypeError: string indices must be integers

  • 类型错误:类型错误,字符串索引必须是整数
  • 排错思路:

    for sku in rdssku_l:
        rdsondemand_output[sku] = {}
    
        for attr in rdsattributes:
            rdsondemand_output[sku][attr] = data['products'][sku]['attributes'].get(attr)
    
        rdsondemand_output[sku]['unit'] =         list(list(data['terms']['OnDemand'][sku].values())[0]['priceDimensions'].values())[0]['unit']
        rdsondemand_output[sku]['CNY'] =         list(list(list(data['terms']['OnDemand'][sku].values())[0]['priceDimensions'].values())[0]['pricePerUnit'].values())[0]['CNY']
  • 解决方法:

    for sku in rdssku_l:
        rdsondemand_output[sku] = {}
    
        for attr in rdsattributes:
            rdsondemand_output[sku][attr] = data['products'][sku]['attributes'].get(attr)
    
        rdsondemand_output[sku]['unit'] =         list(list(data['terms']['OnDemand'][sku].values())[0]['priceDimensions'].values())[0]['unit']
        rdsondemand_output[sku]['CNY'] =         list(list(data['terms']['OnDemand'][sku].values())[0]['priceDimensions'].values())[0]['pricePerUnit']['CNY']

处理JSON格式的文件-系列Error

标签:object   price   解码   rabl   code   and   格式   list   database   

原文地址:https://www.cnblogs.com/gunxiaoshi/p/11183194.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!