python 中json和字符串互相转换

python 中json和字符串互相转换
string =" {
  "status": "error",
  "messages": ["Could not find resource or operation 'BZK1.MapServer' on the system."],
  "code": 404

}"

print  '对象:' string

print '取值:' json.loads(string)['code']

输出结果为:

对象:{u'status': u'error', u'code': 404, u'messages': [u"Could not find resource or operation 'BZK1.MapServer' on the system."]}

取值:404

将对象转成字符串:

resultJson = {"state": 1}
print( json.dumps(resultJson))
分别使用了Json包中的loads()方法和dumps()方法

ast的用法

import ast 

def get_dict_for_longtext(data):
    # [{"var_name":"key","var_remark":"e92354cdeefdd61d47dea5691d1e784b"}]
    a = data[1:len(data)-1]   #去除中括号
    # print(a)
    # print("type(a):",type(a))
    c = ast.literal_eval(a)
    my_dict={}
    for key,value in c.items():
        print(key)
        print(value)
        my_dict[key]=value
    return my_dict

import ast
#字符串转成字典
text = ast.literal_eval("{'google': 'google.com', 'runoob': 'runoob.com'}")
print(text)
print(type(text))
def string_to_dict(self,text):
    text = ast.literal_eval(text)
    print(text)
    return text
def my_run():

    data=[{"var_name":"gid","var_remark":"sh601009"},{"var_name":"key","var_remark":"e92354cdeefdd61d47dea5691d1e784b"}]
    s = '{"var_name":"content-type","var_remark":"application/json"}'
    d = ast.literal_eval(s)  #字符串转list
    print(type(d))
    print(d['var_name'])
    my_dict={}
    for key,value in d.items():
        print(key)
        print(value)
        my_dict[key]=value
    # d2=json.load(d)
    # print(type(d2))
    return my_dict
def my_run2():
    data='[{"var_name":"gid","var_remark":"sh601009"},{"var_name":"key","var_remark":"e92354cdeefdd61d47dea5691d1e784b"}]'
    d = ast.literal_eval(data)
    # print(type(d))
    # print(d[0])
    # print(type(d[0]))
    for a in d:
        for key,value in a.items():
            print(value)
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值