python对json简单操作

我们把 程序的各种类型数据对象 变成 表示该数据对象的 字节串 这个过程 称之为 序列化

而把 字节串转化为 程序中的数据对象 这个过程 称之为 反序列化

序列化

要把数据对象序列化为json格式的字符串,就可以使用该库里面的dumps函数

  
  import json
  historyTransactions = [
  ​
      {
          'time'   : '20170101070311',  # 交易时间
          'amount' : '3088',            # 交易金额
          'productid' : '45454455555',  # 货号
          'productname' : 'iphone7'     # 货名
      },
      {
          'time'   : '20170101050311',  # 交易时间
          'amount' : '18',              # 交易金额
          'productid' : '453455772955', # 货号
          'productname' : '奥妙洗衣液'   # 货名
      }
  ​
  ]
  ​
  # dumps 方法将数据对象序列化为 json格式的字符串
  jsonstr = json.dumps(historyTransactions)
  print(jsonstr)

json.dumps 方法发现将字符串中如果有非ascii码字符,比如中文, 缺省就用该字符的unicode数字来表示。

比如 的unicode是 5965, 就表示为 \u5965

如果你不想这样,可以给参数 ensure_ascii 赋值为 False,如下所示

json.dumps(historyTransactions,ensure_ascii=False,indent=4)


其中,indent参数表示转换后缩进为4,这样显得整洁好看,

反序列化

使用 json库中的 loads方法,把json格式的字符串变为 Python中的数据对象

  
  import json
  jsonstr = '[{"time": "20170101070311", "amount": "3088", "productid": "45454455555", "productname": "iphone7"}, {"time": "20170101050311", "amount": "18", "productid": "453455772955", "productname": "\u5965\u5999\u6d17\u8863\u6db2"}]'
  ​
  translist = json.loads(jsonstr)
  print(translist)
  print(type(translist))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值