首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python -将字符串转换为json并组合

Python -将字符串转换为json并组合
EN

Stack Overflow用户
提问于 2011-03-10 17:18:31
回答 2查看 4.6K关注 0票数 0

我有两个从api url得到的字符串。

代码语言:javascript
复制
pagehandle = urllib2.urlopen(ariel_url+"?%s"  % params1)
data1 = pagehandle.read(); 
pagehandle = urllib2.urlopen(ariel_url+"?%s"  % params2)
data2 = pagehandle.read(); 

data1和data2包含以下string

代码语言:javascript
复制
{"priority":"HIGH", "titles":["Brand", "Likes"], "values":[["addidas", 130],["nike", 180]]}

{"priority":"HIGH", "titles":["Brand", "Likes"], "values":[["iphone", 49],["ipod", 590]]}

我希望将这两个字符串转换为json,并以输出json可能喜欢的方式组合(或组合字符串,然后进行转换)。

代码语言:javascript
复制
{"priority":"HIGH", "titles":["Brand", "Likes"], "values":[["addidas", 130],["nike", 180],["iphone", 49],["ipod", 590]]]}

我该怎么做呢?我更喜欢使用simplejson库

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-10 17:27:25

这些不是字符串,而是字典。您可以像这样组合这些字典:

代码语言:javascript
复制
def combine(dict1, dict2):
    if dict1['priority'] == dict2['priority'] and dict1['titles'] == dict2['titles']:
        return {
            'priority': dict1['priority'],
            'titles': dict1['titles'],
            'values': dict1['values'] + dict2['values']
        }

在此之后,您只需运行:

代码语言:javascript
复制
import json
json.dumps(combine(dict1, dict2))

您将获得这两个组合字典的json。

编辑

所以我理解你真正得到的是:

代码语言:javascript
复制
s1 = '{"priority":"HIGH", "titles":["Brand", "Likes"], values:[["addidas", 130],["nike", 180]]}'

s2 = '{"priority":"HIGH", "titles":["Brand", "Likes"], values:[["iphone", 49],["ipod", 590]]}'

在这种情况下,您可以运行:

代码语言:javascript
复制
dict1 = json.loads(s1)
dict2 = json.loads(s2)
result = combine(dict1, dict2)
票数 3
EN

Stack Overflow用户

发布于 2011-03-10 17:27:54

这就是了:

代码语言:javascript
复制
import json
a = json.loads('{"priority":"HIGH", "titles":["Brand", "Likes"], "values":[["addidas", 130],["nike", 180]]}')
b = json.loads('{"priority":"HIGH", "titles":["Brand", "Likes"], "values":[["iphone", 49],["ipod", 590]]}')

for value in a['values']:
   b['values'].append(value)

# edited
json.dumps(b)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5257582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档