专栏首页Python空间一招带你带你解析 JSON 串

一招带你带你解析 JSON 串

本文字数:1311 字 阅读本文大概需要:4 分钟

我在之前的「零基础入门学习 Python」这个系列中,写过关于 JOSN 的文章 -- Python 标准库之 JSON ,没看的可以看一下。JSON 是一种轻量级的数据交换格式,对于我们的阅读和编写十分之友好,同时对机器来说也很容易解析和生成。

如果你已经是学过或者做过一段时间的编程,你可能会发现这么一个现象,那就是 JSON 好像随随便便就能在某个犄角旮旯里看到,这正是由它的诸多优点决定的。随着 JSON 使用越广泛,这种诸如需要将 JSON 字符串转化为 JSON 对象的需求就越频繁。

我光在这说「频繁」,到底这么才算是频繁呢?我们总得摆事实,讲道理,不能我们张嘴说它频繁它就频繁。让我们来打开 Google,然后输入 JSON,查询一下,处于搜索结果第一项的便是「JSON在线解析及格式化验证」。

还记得我们之前讲过的「日志」么,如果不记得或者忘记了,可以再看看这篇文章 -- 所有 Python 程序员必须要学会的「日志」记录。 在一些实际的工作过程中,系统会经常调用底层服务的接口,这些接口一般用 JSON 的格式返回,为了便于查找问题的所在,我们一般将这些 JSON 转化为字符串然后保存到日志文件中。当我们遇到什么问题的时候只需要将这些日志中的 JSON 字符串拿出来分析分析就好了。在这个时候,我们就需要将一个 JSON 字符串转化为 JSON 对象,以便于阅读。

在上面用 Google 搜索的时候提到了「JSON在线解析及格式化验证」,这是一种转化的方法。那除了这种打开浏览器用在线工具以外,是不是还有别的更巧妙的方法?俗话不是说求人不如求己么,万一哪天没网了刚好想转化那可咋整?

提醒一下,现在我们用的可是 Python 啊,号称「省心省力,自力更生」的典范,怎么可能被这种小事儿给难倒,python 早就给我们想到了,那就是用命令行终端的 Python 解释器来解析 JSON。请看下面示例:

echo '{"name":"rocky","like":"python","age":23}' | python -m json.tool

输出结果如下所示:

{
    "age": 23,
    "like": "python",
    "name": "rocky"
}

这种使用命令行解释器解释 Python 串非常方便,而且你看上面输出的结果就可以发现,工具还会自动将转化的结果进行对齐和格式化,真的是非常的便于阅读。为了更直观的来看,我们来看一个复杂些的例子:

echo '{"name":{"first":"rocky","second":"leey"},"like":"python","age":23}' | python -m json.tool

显示的结果如下:

{
    "age": 23,
    "like": "python",
    "name": {
        "first": "rocky",
        "second": "leey"
    }
}

ps:最后想说,不好意思这周拖到今天才更技术文,最近牙龈上火加上天气突变受凉,一下子病了,发烧了三天,写下这篇文章的时候我还是是顶着 41 度可以烤红薯的脑袋。说这个不是为了卖惨,主要是后台有一些朋友问起没更新的问题,就不一一回复了,在这就算回答了。天气渐凉,大家注意身体,我尽快好起来,给大家更文。

本文分享自微信公众号 - Python空间(Devtogether),作者:Rocky0429

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-11-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python 标准库之 JSON

    我用了两天的时间来介绍的 XML,如果没看的话建议先去看看。就数据传递而言, XML 是一种选择,当然这里还有另一种选择 -- 「JSON」。它是一种轻量级的数...

    Rocky0429
  • 一千行 MySQL 详细学习笔记

    Rocky0429
  • 零基础学习 Python 之函数对象

    我在前面的文章提过这么一个概念 「函数也是对象」,那么对于这种对象,是不是有什么特别的应用呢?下面就让我们从这个角度出发再次深入的探究函数。

    Rocky0429
  • JSON对象

    星辉
  • MySQL 5.7 JSON 实现简介

    本文主要介绍了MySQL在5.7.7之后引入的原生JSON支持的特性,说明了引入JSON类型的好处,并结合具体的示例介绍了MySQL在JSON类型上对外的接口以...

    腾讯云数据库团队
  • 9 款你不能错过的 JSON 工具

    JSON 吸引了工具构建者的注意,它们开发了用于重新格式化、验证和解析 JSON 的众多工具,这不足为奇。这些工具既有在 Web 浏览器中运行的在线实用程序,又...

    用户6543014
  • 9 款你不能错过的 JSON 工具

    JSON 吸引了工具构建者的注意,它们开发了用于重新格式化、验证和解析 JSON 的众多工具,这不足为奇。这些工具既有在 Web 浏览器中运行的在线实用程序,又...

    GitHubDaily
  • SQL Server 2016 JSON原生支持实例说明

    背景 Microsoft SQL Server 对于数据平台的开发者来说越来越友好。比如已经原生支持XML很多年了,在这个趋势下,如今也能在SQLServer2...

    用户1217611
  • JS高级测试: 下列JSON说法不正确的是?

    使用 JavaScript 内置函数 JSON.parse() 将字符串转换为 JavaScript 对象:

    舒克
  • MySQL5.7 JSON实现简介

    本文主要介绍在MySQL 5.7.7开始引入的非结构化数据类型JSON的特性以及具体的实现方式(包括存储方式)。首先介绍为什么要引入JSON的原生数据类型的支持...

    ivansqwu

扫码关注云+社区

领取腾讯云代金券