[Python3]Python解析Json文件的案例

本文介绍了JSON的基本概念,它是轻量级的数据交换格式,独立于语言且易于理解和解析。在Python中,可以使用json模块的dumps()和loads()方法进行编码和解码操作。示例展示了如何读取并解析JSON文件。此外,文中还提到了JSON在SoC验证中的应用,如用于描述testlist和filelist。
摘要由CSDN通过智能技术生成

Python解析Json文件的案例

       摘要:什么是json?如何用Python解析json文件呢?本文将介绍一种方案。

一、什么是json

  • JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)
  • JSON 是轻量级的文本数据交换格式
  • JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON。
  • JSON 具有自我描述性,更易理解
  • JSON 是存储和交换文本信息的语法,类似 XML。
  • JSON 比 XML 更小、更快,更易解析。

二、Python3中提供的方法

 2.1 json.dumps()

  • json.dumps对数据进行编码,将 Python 对象编码成 JSON 字符串
No.PythonJSON
1dictobject
2list, tuplearray
3strstring
4int, float, int- & float-derived Enumsnumber
5TRUETRUE
6FALSEFALSE
7Nonenull

 2.2 json.loads(): 

  • json.loads对 JSON数据进行解码,返回Python 字段的数据类型
No.JSONPython
1objectdict
2arraylist
3stringstr
4number (int)int
5number (real)float
6TRUETRUE
7FALSEFALSE
8nullNone

 2.3 Example

#!/usr/bin/env python3

import os
import re
import sys
import time
import threading

import json
import pprint

def resolveJson(path):
    with open(path, "rb") as f:
      fileJson = json.load(f)
      field = fileJson["field"]
      futures = fileJson["futures"]
      type = fileJson["type"]
      name = fileJson["name"]
      time = fileJson["time"]
    return (field, futures, type, name, time)

if __name__ == "__main__":
  resolveJson(soc_test.json)

三、json在SoC验证中的应用

 3.1 用json描述testlist

{
"design": "soc",
"suit": "chip",
"arc": {
  "prerequisites": {
    "common": {
      "sim_run_args": [
        "+LIB_SIM"
      ]
    }
  },
  "test": {
    "soc_test_base": {
      "owner": "",
      "conf": "",
      "sim_run_args": [
      ],
      "loop_num": "",
      "feature": [
      ],
    },
    "soc_reg_test": {
      "owner": "",
      "conf": "",
      "sim_run_args": [
      ],
      "loop_num": "",
      "feature": [
      ],
    }
  }
}
}

 3.2 用json描述filelist

{
"tb": "soc",
"root_path": {

}
"view": {

}
"package": {

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

元直数字电路验证

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值