问 题

环境是python2.7

json文件

{"data":[{"school":123456789,"phone":"138****0000","name":"\u5f20\u9e4f","id": null}]}

需要用python来格式化

格式化为以下形式

{

"data": [

{

"school": "123456789",

"phone": "138****0000",

"name": "张鹏",

"id": "null"

}

]

}

因为原json的文件 school和id 是没有 ""

每次都要我用编辑器手动替换正则

: \s*?([^"\s]+?)\s*?,

: "$1",

另外name也需要转码为中文

解决方案

import json

json_data = '{"data":[{"school":123456789,"phone":"138****0000","name":"\u5f20\u9e4f","id": null}]}'

print(json.dumps(json.loads(json_data), indent=4, sort_keys=False, ensure_ascii=False)))

搞了一个非常不优雅的版本

import json

import yaml

json_data = '{"data":[{school:123456789,"phone":"138****0000","name":"\u5f20\u9e4f",id: null}]}'

loads = yaml.load(json_data.replace(":",": "))#不能保证如果数据里存在:的情况

print json.dumps(loads, indent=4, sort_keys=False, ensure_ascii=False)

搞个第三方容错的Parse包?(个人建议)

Google了下发现有人推荐 demjson

import json

json_data = '{"data":[{school:123456789,"phone":"138****0000","name":"\u5f20\u9e4f",id: null}]}'

import demjson

loads = demjson.decode(json_data)

print json.dumps(loads, indent=4, sort_keys=False, ensure_ascii=False)

最后改了

为了把int 变成str 可以考虑用遍历对str(值) 更tricky一点是loads json 把整数当成str

print json.dumps(json.loads(json.dumps(loads), parse_int=str), indent=4, sort_keys=False, ensure_ascii=False)

至于null是不应该变成字符串的null, null 是json里一个保留值 http://www.json.org/json-zh.html 参考下json的规范

扫一扫关注IT屋

微信公众号搜索 “ IT屋 ” ,选择关注与百万开发者在一起

python的json编辑器_python如何格式化json相关推荐

  1. python json库函数_python基础之JSON标准库

    一.序列化的一些简单概念 我们平常使用的python对象所进行的操作是在内存中,当程序关闭就会被清空,所以我们需要用一种合适的方法将这些数据保存下来. 为了将我们的数据进行永久存储,需要引入序列化(p ...

  2. python读取json配置文件_Python简单读取json文件功能示例

    本文实例讲述了Python简单读取json文件功能.分享给大家供大家参考,具体如下: read_json.json: { "rule":{ "namespace" ...

  3. python json包_python编程 之 json包

    1,json是什么? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写. 我的理解就是:json是一种统一的格式化的文件,比如,一个jso ...

  4. python字典与json转换_python字典与json转换的方法总结

    在python中json分别由列表和字典组成,本文主要介绍python中字典与json相互转换的方法.使用json.dumps可以把字典转成json字符串.使用json.loads可以把json字符串 ...

  5. python打开json文件_python怎么读json文件

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族 ...

  6. 一个能在vue3中运行的JSON编辑器,能展示JSON数据的高亮,打开时有默认数据

    以下是一个可以在Vue 3中运行的JSON编辑器组件.它使用了元素来输入JSON数据,并使用JSON.parse()将输入的JSON数据解析为JavaScript对象.解析成功后,将在编辑器下方展示高 ...

  7. python实现文本编辑器_Python实现文本编辑器功能实例详解

    这篇文章主要介绍了Python实现的文本编辑器功能,结合实例形式详细分析了基于wxpython实现文本编辑器所需的功能及相关实现技巧,需要的朋友可以参考下 本文实例讲述了Python实现的文本编辑器功 ...

  8. python手机代码编辑器_Python怎么打开代码编辑器

    Python作为近几年来最为优秀的编程语言之一,受到了很多程序员的追捧,现在我教大家如何打开Python的代码编辑器 工具/原料 电脑 Python 方法/步骤 1 首先,点击[开始]按钮,开始按钮几 ...

  9. python文件存储为json格式_python 储存文件json

    许多程序要求用户输入某些信息,例如存储游戏偏好或提供要可视化的数据.不管程序关注的是什么,程序都要将将用户提供的信息存储在列表.字典等数据结构中.当用户关闭程序时,几乎总是需要保存他们提供的信息:一个 ...

最新文章

  1. 小程序无限层级路由方案
  2. Oracle删除指定用户下所有对象
  3. 2018 青岛网络赛C题Halting Problem
  4. Eclipse中显示文件字符乱码
  5. SpringCache @Cacheable 在同一个类中调用方法,导致缓存不生效的问题及解决办法...
  6. VS2008编译错误:error PRJ0003 生成 cmd.exe 时出错
  7. python自动化测试-如何学习自动化测试?
  8. 微信小程序云开发教程-WXSS入门-样式的使用
  9. [Spring Boot 系列] 集成maven和Spring boot的profile功能
  10. 从应用工程师的角度再谈车载 Android 系统
  11. Maya动画2:刚体+重力模拟小球掉落
  12. 【YOLOv5实战2】基于YOLOv5的交通标志识别系统-自定义数据集
  13. 如何将自己的电脑变成WiFi热点
  14. 动画 | 大学四年结束之前必须透彻的排序算法
  15. Win10+OpenCV无法正常读取USB摄像头数据解决方案
  16. PAT 乙级 1041 考试座位号 (15分)
  17. python彩蛋_python 隐藏彩蛋
  18. 利用python绘制螺旋式正方形
  19. 通过二叉树来对数组进行排序
  20. python3 验证码图片切割

热门文章

  1. mediaPlayer的使用技巧
  2. 专科生也有大梦想吗?
  3. 添加宏操作到鼠标右键
  4. 被公认为计算机网络安全第一个病毒,被公认为计算机网络安全的第一个病毒的是下列哪一病毒?...
  5. Java学习记录之简单的图书管理系统(完善中)
  6. 会助力客户案例:“四川省卷烟营销网络建设工作推进会”
  7. 【华人学者风采】田捷 中国科学院
  8. 信通院出品:22个5G垂直行业应用案例(2021年+全文)
  9. MATLAB模拟涡旋光,涡旋光-Matlab.doc-_装配图网
  10. WOJ 1542 Countries 并查集转化新点+最短路