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



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']

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

时间: 2024-08-30 12:25:58

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

Web API删除JSON格式的文件记录

Insus.NET的系列Web Api学习文章,这篇算是计划中最后一篇了,删除JSON格式的文件记录.前一篇<Web Api其中的PUT功能演示>http://www.cnblogs.com/insus/p/4346982.html中学习了怎样更新数据.程序开发涉及到数据的,为了让用户方便管理,一般提供了查询,添加,更新以及删除功能.本篇中是针对文件中的数据进行删除. 下面Insus.NET就对此进行详尽演示.Web Api的一个type: "DELETE".在API控制中

问题:iis配置json;结果:如何配置iis支持.json格式的文件

如何配置iis支持.json格式的文件 | 浏览:1357 | 更新:2015-04-05 11:00 | 标签:软件 1 2 3 4 5 6 7 分步阅读 现在大家在制作HTM5的一些小场景,小游戏时需要用到.json来记录数据,但是我们用了json后IIS又不支持解析,也是一件非常郁闷的事情,下面为大家介绍一下.如何让IIS支持json文件解析. 工具/原料 IIS 方法/步骤 1 第一步,点击开始菜单: 2 第二步,依次选择管理工具--IIS管理,有的电脑没有直接把管理工具显示出来,请依次

PHP记录和读取JSON格式日志文件

我们有时需要记录用户或者后端的某个操作事件的运行情况,可以使用后端语言如PHP将操作结果记录到日志文件中,方便测试和查找问题.尤其是这些在后端运行的而前端不能直接看到运行结果的,那么就可以用日志文件记录下来,如果你经常跟一些接口开发如支付宝接口.微信卡券接口打交道的话,日志记录就必不可少了. 我们讲的PHP记录日志,就是将日志信息写入到一个日志文件中,区别于内存日志.写入日志的流程是:打开日志文件(如果不存在则新创建),然后将日志内容追加到日志文件的后面,最后关闭日志文件. 本文中,我们将日志内

Logstash处理json格式日志文件的三种方法

假设日志文件中的每一行记录格式为json的,如: {"Method":"JSAPI.JSTicket","Message":"JSTicket:kgt8ON7yVITDhtdwci0qeZg4L-Dj1O5WF42Nog47n_0aGF4WPJDIF2UA9MeS8GzLe6MPjyp2WlzvsL0nlvkohw","CreateTime":"2015/10/13 9:39:59",&

json格式的文件操作

1.字典转换为字符串(json.dumps) jsongeshi={"name":"yajuan","age":"10"}import json with(open("b","w",encoding="utf-8"))as f: json_new=json.dumps(jsongeshi) #字典转换为字符串,write写只支持字符串,不支持字典及list格式,故需转

C#中用JavaScriptSerializer和Json.Net操作json格式的文件

1.json文件 2.写出对应的类 1 //折扣 2 public class Discount 3 { 4 public string Qty { get; set; } 5 public string percentage { get; set; } 6 } 7 //产品信息 8 public class ProductInfo 9 { 10 public string packing { get; set; } 11 public string Qty { get; set; } 12 p

iOS开发之JSON转PLIST(把存储json格式的文件转换成plist文件)

p.p1 { margin: 0.0px 0.0px 0.0px 60.0px; font: 16.0px "PingFang SC"; color: #586e75 } p.p2 { margin: 0.0px 0.0px 0.0px 60.0px; font: 16.0px Courier; color: #586e75; min-height: 19.0px } p.p3 { margin: 0.0px 0.0px 0.0px 60.0px; text-indent: -28.9

将List&lt;Map&gt;中的datas转换为json格式写入文件

private static boolean writeToTextFileByJson(List<Map<String, Object>> datas, String title, String columns, String fileName, String encode) { final BufferedWriter bw; boolean flag = true; try { boolean hasExists = new File(fileName).exists();

配置iis支持.json格式的文件

一.IIS 6 1. MIME设置:在IIS的站点属性的HTTP头设置里,选MIME 映射中点击”文件类型”-”新类型”,添加一个文件类型:关联扩展名:*.json内容类型(MIME):application/x-javascript 2. Script Map Handler设置:还是在IIS的站点属性里,”主目录”-”应用程序设置”-”配置”-”映射”-”添加”,会打开”添加/编辑应用程序扩展名映射”的设置页面扩展名:.json运行文件:C:\WINDOWS\system32\inetsrv