str转json

str转换为json格式,前提一定需要保证这个str的格式和json是一致的,即左边最外层是大括号,右边的最外层是大括号。如果不一致,推荐用正则进行拆分至和json格式一致
1. 通过json.loads进行转换

import json
str = '{"key": "wwww", "word": "qqqq"}'
j = json.loads(str)
print(j)
print(type(j))
1
2
3
4
5
但是值得注意的是,json中内部数据需要用双引号来包围,不能使用单引号,如刚才的写法,如果写成这样,就会发生错误:

str = “{‘key’: ‘wwww’, ‘word’: ‘qqqq’}“
j = json.loads(str)
1
2
2. 通过eval
eval函数的官方解释为:将字符串str当成有效的表达式来求值并返回计算结果。
即通过eval可以把list,tuple,dict和string相互转化,例如:

a = "[[1,2], [3,4], [5,6], [7,8], [9,0]]"

b = eval(a)

type(b)
list

a = "{1: 'a', 2: 'b'}"

b = eval(a)

type(b)
dict
a = "([1,2], [3,4], [5,6], [7,8], (9,0))"

b = eval(a)

type(b)
tuple
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
同样,值得注意的是,eval()可以通过运行系统的命令,如:

eval("__import__('os').startfile('notepad.exe')") #启动记事本程序
1
那么为了保证安全,当需要用户输入时,可以对用户输入进行敏感字符检查和过滤

3. literal_eval

和eval用法相同,都可以将字符串str解析成list,tuple,dict,而且避免了eval的安全性的问题

import ast

a = "{1: 'a', 2: 'b'}"

b = ast.literal_eval(a)

type(b)
dict
1
2
3
4
5
6
7
8
json转str

使用json.dumps的方法,可以将json对象转化为字符串

data = {'name':'wjp','age':'22'}
data = json.dumps(data)
1
2

Python-字符串str和json格式的转换的更多相关文章

  1. python 字符串str和json格式转换

    最近在写一个脚本,需要处理从excel中读取的数据,发现读取的json格式数据进行转换时报错 ValueError: Expecting property name enclosed in doubl ...

  2. python判断字符串是否是json格式方法分享

    python判断字符串是否是json格式方法分享 在实际工作中,有时候需要对判断字符串是否为合法的json格式 解决方法使用json.loads,这样更加符合'Pythonic'写法 代码示例:   ...

  3. Unity 数据Json格式的转换

    把对象转换为字节序列的过程称为对象的序列化. 把字节序列化恢复为对象过程称为对象的反序列化. JSON格式的转换,是一大神给我说的,让我拿来存储数据库时对一些数据的处理,感觉特别好用.但是我并没有深入 ...

  4. 【最简单的方法】js判断字符串是否为JSON格式(20180115更新)

    前言 针对 “js判断字符串是否为JSON格式” 这个问题,在网上查了许多资料,都没找到自己想要的答案. 但是看到这个帖子<js判断字符串是否为JSON格式>后,突然灵光一闪,想到一种很简 ...

  5. python 字符串转化为json、post请求

    在json模块有2个方法, loads():将json数据转化成dict数据 dumps():将dict数据转化成json数据 load():读取json文件数据,转成dict数据 dump():将d ...

  6. 校验字符串是否是JSON格式,将不规则展示的json格式的字符串进行规则展示(json格式化)

    版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+]   var str = {"code": "","svcname" ...

  7. js判断字符串是否为JSON格式

    不能简单地使用来判断字符串是否是JSON格式: function isJSON(str) { if (typeof str == 'string') { try { JSON.parse(str); ...

  8. JS-try/catch方法判断字符串是否为json格式

    定义: try/catch 语句用于处理代码中可能出现的错误信息,出现异常会导致程序崩溃,而try/catch 则可以保证程序的正常运行. try { //执行代码 不报错则 正常执行 不会进入下面的 ...

  9. 字符串对象跟xml格式的转换

    package com.sunshen.jfids.testWebService.task; import java.io.File; import java.io.StringWriter; imp ...

随机推荐

  1. nvm常用命令

    安装nvm:curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash 查看当前nvm版本: ...

  2. 后台处理json数据

    InputStream in = request.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamRea ...

  3. exception 打印出异常栈踪迹

    Java异常抛出使用e.printStackTrace(),打印出抛出的异常栈踪迹, 如果你在catch中继续抛出这个异常,那么e.printStackTrace()也能跟踪到抛出异常的地方, 使用t ...

  4. Mac版-Jdk安装与环境配置

    下载安装 oracle官网下载,地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html 下载好后,点击安装包,一直 ...

  5. 转 lsof命令详解

    lsof命令详解   lsof (list open files)是一个列出当前系统打开文件的工具.在linux系统环境下,任何事物都可以以文件形式存在,通过文件不仅可以访问常规的数据,还可以访问网络 ...

  6. linux 部署系统通过SecureCRT启动tomcat 控制台中文乱码

    查资料又是查了半天 首先 查看linux 当前系统字符集命令 echo $LANG 查看linux 当前系统语言 locale 网上说的又是下中文包,又是改临时语言,这些不能一概而论,我也觉得我不是中 ...

  7. pycharm格式化python代码快捷键Ctrl+Alt+L失效

    突然发现按Ctr+Alt+L格式化python失效了,下午时候还好好的.看网上得说法是因为开着的其他软件里用了全局快捷键Ctr+Alt+L,我的是因为被网易云音乐占用了,所以在网易云音乐里把这个快捷键 ...

  8. SqlServer 查询所有字段要写说明

    查询出所有未写说明的字段: SELECT IC.table_name TableName, ColName=C.name, PFD.[value] FROM sys.columns C INNER J ...

  9. DB2 SQL error: SQLCODE: -668, SQLSTATE: 57016, SQLERRMC: 3

    在对表load数据之后,表出现如下错误: DB2 SQL error: SQLCODE: -668, SQLSTATE: 57016, SQLERRMC: 3; 错误解释:表处于"装入暂挂& ...

  10. config maven in intellij IDEA

    Config maven in IDEA                 File ->Settings->Build,Execution.Deployment->build Too ...