python str类型与json格式转换或者list格式转换


str转list:

import ast
#####方法一#####
datas = '{"carname":"豫EB7822","simid":"13579246811","equid":"3070614105","username":"燕子","userphone":"13579246811"}'
list_datas_1 = eval(datas)
print(type(list_datas_1))
#####方法二#####
list_data_2 = ast.literal_eval(datas)
print(type(list_data_2))

str转json:

import json
datas = '{"carname":"豫EB7822","simid":"13579246811","equid":"3070614105","username":"燕子","userphone":"13579246811"}'
dict_datas = json.loads(datas)
print(type(dict_datas))

list转str:

#####方法一#####
datas = '{"carname":"豫EB7822","simid":"13579246811","equid":"3070614105","username":"燕子","userphone":"13579246811"}'
#引号中是字符之间的分割符
str_data_1 = ','.join(datas)
print(type(str_data_1))
#####方法二#####
#不会去除分隔符
str_data_2 = str(datas)
print(type(str_data_2))

json转str:

import json
datas = '{"carname":"豫EB7822","simid":"13579246811","equid":"3070614105","username":"燕子","userphone":"13579246811"}'
dict_data = json.jumps(datas)
print(type(dict_data))

可能遇到的问题

list转str时,使用方法一,如果list里面不是字符串类型时会报TypeError: sequence item 0: expected str instance, int found
解决方法:改成字符类型
str转json类型时
datas_1 = '{"carname":"豫EB7822","simid":"13579246811","equid":"3070614105","username":"燕子","userphone":"13579246811"}'
datas_2 = "{'carname':'豫EB7822','simid':'13579246811','equid':'3070614105','username':'燕子','userphone':'13579246811'}"
dict_1 = json.loads(datas_1)
dict_2 = json.loads(datas_2)
print(type(dict_1))
print(type(dict_2))
以上运行时会报错
json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
因为因为字符串datas_2中,双引号在外围,单引号在内嵌,导致转换失败
需要转换的字符串需要注意,双引号在外围,单引号在内
解决方法:
将datas_2改成datas_1即可

str类型转json,str类型转list的更多相关文章

  1. 由 var str = 'hello world' str.attr ='666'; 到包装类型

    近期有些小伙伴在公司的一道面试题踩了坑,  今天特地跟大家一起分享下: 原题如下: var str = 'hello world'; str.attr = '666'; console.log(str ...

  2. Python的基础类型(int,bool,str):

    Python的基础类型(int,bool,str): 1.int -------> 整形:主要用力进行数字计算 2.string ------>字符串:可以保存少量数据并进行相关的操作 3 ...

  3. 【转载】C#.NET WebApi返回各种类型(图片/json数据/字符串),.net图片转二进制流或byte

    C#.NET WebApi返回各种类型(图片/json数据/字符串),.net图片转二进制流或byte 转载:http://www.itdos.com/Mvc/20150302/0741255.htm ...

  4. [转]使用 google gson 转换Timestamp或Date类型为JSON字符串.

    创建类型适配类: import java.lang.reflect.Type; import java.sql.Timestamp; import java.text.DateFormat; impo ...

  5. 使用 google gson 转换Timestamp或Date类型为JSON字符串.

    http://blog.csdn.net/z69183787/article/details/13016289 创建类型适配类: import java.lang.reflect.Type; impo ...

  6. JavaScriptSerializer 中的匿名类型 转json

    二:JavaScriptSerializer 中的匿名类型 这个类型我想大家都清楚,不过性能更高的方式应该是用JsonConvert吧,但这个不是本篇讨论的话题,我们重点来看看匿名类型的Json序列化 ...

  7. struts2 中的 result 返回类型是 json 的配置问题

    struts2 中的 result 返回类型是 json 的配置问题 1.引入包(本文中的包全部引自struts-2.1.8.1\lib): struts2-json-plugin-2.1.8.1.j ...

  8. net.sf.json日期类型格式化输出

    net.sf.json 日期类型格式化输出 Date, Timestamp ; 编写工具类 package cn.jorcen.commons.util; import java.text.DateF ...

  9. .Net类型与JSON的映射关系

    首先谢谢大家的支持和关注.本章主要介绍.Net类型与JSON是如何映射的.我们知道JSON中类型基本上有三种:值类型,数组和对象.而.Net中的类型比较多.到底它们是如何映射的呢? 总体来讲,Json ...

随机推荐

  1. 【不带权图算法之拓扑排序】-C++

    拓扑排序算法主要由以下两步循环执行,直到不存在入度为 的顶点为止. 选择一个入度为 的顶点并将它输出: 删除从该顶点连出的所有边. 循环结束,若输出的顶点数小于图中的顶点数,则表示该图中存在回路,也就 ...

  2. [ERROR]:INST-07008: Oracle 主目录(O) 位置的验证失败。用户没有创建主目录/实例位置的权限

    安装weblogic12.1.3.0时,输入的安装命令是: 老是报这个错误. 百度半天好像没人报过这错……看来只有我这么粗心了…… 后来发现wls.rsp里面的Oracle_HOME指向目录错误,修改 ...

  3. [转载]linux下清除Squid缓存的方法记录

    在日常运维工作中,只要用到squid缓存服务,就会常常被要求清理squid缓存. 比如公司领导要求删一篇新闻,新闻是生成的静态.运维人员把服务器上静态的新闻页面删除了后,不料代理服务器上缓存还有.缓存 ...

  4. 关于Redis的几件小事 | 高并发和高可用

    如果你用redis缓存技术的话,肯定要考虑如何用redis来加多台机器,保证redis是高并发的,还有就是如何让Redis保证自己不是挂掉以后就直接死掉了. redis高并发:主从架构,一主多从,一般 ...

  5. 手把手教你破解文件密码、wifi密码、网页密码

    手把手教你破解文件密码.wifi密码.网页密码 1.破解文件密码: 有时候我们在网上下载一个压缩包后,必须要关注或者支付一定费用才给你解压密码,实属比较恶心.在这里手把手叫你实现破解文件解压密码. 1 ...

  6. IO-Java实现文件的复制

    public class FileCopy { public static void main(String[] args) throws IOException { // 1.创建一个字节输入流对象 ...

  7. typescript 公共,私有与受保护的修饰符

    public理解 当你在程序中没有指明修饰符时,默认为public,也就是在类内类外都可以访问,我们以下面的例子来解释. class Person{ name:string sex:string ag ...

  8. Jboss反序列化漏洞复现(CVE-2017-12149)

    Jboss反序列化漏洞复现(CVE-2017-12149) 一.漏洞描述 该漏洞为Java反序列化错误类型,存在于jboss的HttpInvoker组件中的ReadOnlyAccessFilter过滤 ...

  9. Mac环境下升级gcc版本--rocksdb

    前言 在mac环境下编译rocksdb,需要配置依赖的编译环境,其中有一项比较麻烦:c++编译要支持C++11,但是在mac环境安装xcode-select --install之后,已经安装有了gcc ...

  10. oracle常用的一些sql命令

    //查看系统当前时间   HH24 24小时制  MI是正确的分钟 select to_char(sysdate,'yyyy-mm-dd HH24:MI:SS') from dual //HH非24 ...