首页 > 编程语言 >2023-01-31python-json

2023-01-31python-json

时间:2023-10-09 18:44:29浏览次数:38  
标签:jsonstr 01 string json5 json demjson3 data 31python

+++
title = "Json读写(Python)"
description = ""
date = 2023-01-31T15:34:37+08:00
featured = false
comment = true
toc = true
reward = true
categories = [
""
]
tags = [
""
]
series = []
images = []
+++
使用 python 读写 json,或者使用 json5 处理一些格式“不太正确”的 json string,比如js代码的格式。

把 python 对象编码成 json string

import json

data = { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 } 
data_str = json.dumps(data, indent=4, separators=(',', ': '))
print(data_str)

解码 json string 到 python 对象

loads() 和 dumps() 函数 处理字符串

load() 和 dump() 函数 处理文件

import json
# jsonstr = '{a:1,b:2,"c":3,"d":4,"e":5}'
jsonstr = '{"a":1,"b":2,"c":3,"d":4,"e":5}'
json_obj = json.loads(jsonstr)
json_obj['a']
1

第三方库:Demjson

pip install demjson3
import demjson3
data = { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 } 
demjson3.encode(data)
'{"a":1,"b":2,"c":3,"d":4,"e":5}'

Demjson 可以处理一些格式“不太正确”的 json string

jsonstr = '{a:1,b:2,"c":3,"d":4,"e":5}'
demjson3.decode(jsonstr)
{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}

json5

pip install json5

json5也可以处理一些格式“不太正确”的 json string ,并且语法要和 json 标准库一样

import json5
jsonstr = '{a:1,b:2,"c":3,"d":4,"e":5}'
myobj = json5.loads(jsonstr)

json5 保存到文件

json5.dump(myobj, open('test.json5', 'w'), indent=4)

标签:jsonstr,01,string,json5,json,demjson3,data,31python
From: https://www.cnblogs.com/kasusa/p/17752868.html

相关文章

  • 01webpack基础知识
    1概述1.1什么是webpack1、webpack是一种前端资源构建工具,一个静态模块打包器(modulebundler)。在webpack看来,前端的所有资源文件(js/json/css/img/less/...)都会作为模块处理。它将根据模块的依赖关系进行静态分析,打包生成对应的静态资源(bundle)2、webpack是一个前......
  • 01_搭建和试用开发环境
    rust的官网https://www.rust-lang.org/1.安装、卸载rustwindows环境下载windows安装包双击后进入命令行安装,按照提示输入数字选项安装即可。如果系统中缺少c++的库,会提示先安装visualstudio。linuxorMAC:curlhttps://sh.rustup.rs-sSf|shWindowsSubsystemf......
  • xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance(xsi:schemaLocation详解)
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"中xsi的意思是:本xml文件中要用到某些来自xsi代表的“http://www.w3.org/2001/XMLSchema-instance”这个命名空间的元素 比如用来引入无命名空间schema文件的noNamespaceSchemaLocation="XXX";以及引入自带命名空间的sch......
  • c# json操作
    使用JavaScriptSerializer需要在引用中添加System.Web.ExtensionsusingSystem.Web.Script.Serialization;classUpdateInfo{publicstringpackageUrl;publicstringremoteManifestUrl;publicstringremoteVersionUrl;publicstringversion;pu......
  • [极客大挑战 2019]HardSQL
    原理用fuzz字典来爆破哪些关键字被过滤了sql语句可以不用空格,仅用括号来隔开username=1'or(updatexml(1,concat(0x7e,database()),1))%23url编码一些值:%20空格%23#。。。and关键字可以用^来代替,=可以用like来代替。有时候不写空格也挺方便的,直接省略过滤空格的可能性截取字......
  • [ZJCTF 2019]NiZhuanSiWei
    原理反序列话伪协议data和filter解题过程进入靶场看到源码<?php$text=$_GET["text"];$file=$_GET["file"];$password=$_GET["password"];if(isset($text)&&(file_get_contents($text,'r')==="welcometothezjctf"......
  • [HCTF 2018]admin
    原理Unicode欺骗弱口令session伪造解题过程进入靶场,有注册和登录按钮,再看原代码看到/posts链接,但是点了是404,还有登录和注册链接,之后就是youarenotadmin的提示,估计是要变成admin登录解法一弱口令登录最终爆破得出密码是123,登录拿到flag解法二unicode编码欺骗参......
  • [护网杯 2018]easy_tornado
    原理模板render的handler.settings窃取cookie_secret解题过程进入靶场有三个超链接查看原代码看到三个超链接地址<ahref='/file?filename=/flag.txt&filehash=85e5682df55f8ca33e9d791703ca4cb1'>/flag.txt</a><br/><ahref='/file?filename=/welcome.txt&fil......
  • [极客大挑战 2019]BuyFlag
    原理弱比较问题科学计数法绕过cookie字段的修改解题过程进入靶场,页面没什么提示,就先看下原代码吧看到有两个超链接,现在这个页面是index.php,看一下flag.php有这几个提示,要满足两个条件咯,再看下原代码发现有后端源码,也就是说要传入password和money,这里的源码需要password......
  • P4801题解
    解题思路:确实是一道很好的贪心,但由于加上了水这个影响因素,使题目复杂度上升了不少。(考虑的东西多了嘛)输个入。对饼干温度无脑排序。求最小值。求最大值(用双指针做,后面会讲)。解题过程:先输入(这个步骤就不用我讲了)inta[1000005];longlongn,ws;longlongmin......