鱼C论坛

 找回密码
 立即注册
查看: 1765|回复: 5

[已解决]json转换

[复制链接]
发表于 2020-12-2 12:47:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
json = [
{"id":1,"name":1,"age":1},
{"id":1,"name":2,"age":3},
{"id":1,"name":4,"age":4},
{"id":3,"name":3,"age":3},
{"id":3,"name":4,"age":5},
{"id":4,"name":12,"age":10}
]
json2 = [
{
'id': 1, 'list': [
{'name': 1, 'age': 1},
{'name': 2, 'age': 3},
{'name': 4, 'age': 4}
]
}, {
'id': 3, 'list': [
{'name': 3, 'age': 3},
{'name': 4, 'age': 5}
]
}, {
'id': 4, 'list': [
{'name': 12, 'age': 10}]
}
]
将json 转化成json2
最佳答案
2020-12-2 13:14:38
本帖最后由 suchocolate 于 2020-12-2 13:38 编辑

json库
import json

js1 = [
    {"id": 1, "name": 1, "age": 1},
    {"id": 1, "name": 2, "age": 3},
    {"id": 1, "name": 4, "age": 4},
    {"id": 3, "name": 3, "age": 3},
    {"id": 3, "name": 4, "age": 5},
    {"id": 4, "name": 12, "age": 10}
]

stream = json.dumps(js1)
data = json.loads(stream)
print(data)
print(type(data))

str替换法:
js1 = [
    {"id": 1, "name": 1, "age": 1},
    {"id": 1, "name": 2, "age": 3},
    {"id": 1, "name": 4, "age": 4},
    {"id": 3, "name": 3, "age": 3},
    {"id": 3, "name": 4, "age": 5},
    {"id": 4, "name": 12, "age": 10}
]

temp = str(js1).replace('"', '\'')
data = eval(temp)
print(data)
print(type(data))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-2 13:14:38 | 显示全部楼层    本楼为最佳答案   
本帖最后由 suchocolate 于 2020-12-2 13:38 编辑

json库
import json

js1 = [
    {"id": 1, "name": 1, "age": 1},
    {"id": 1, "name": 2, "age": 3},
    {"id": 1, "name": 4, "age": 4},
    {"id": 3, "name": 3, "age": 3},
    {"id": 3, "name": 4, "age": 5},
    {"id": 4, "name": 12, "age": 10}
]

stream = json.dumps(js1)
data = json.loads(stream)
print(data)
print(type(data))

str替换法:
js1 = [
    {"id": 1, "name": 1, "age": 1},
    {"id": 1, "name": 2, "age": 3},
    {"id": 1, "name": 4, "age": 4},
    {"id": 3, "name": 3, "age": 3},
    {"id": 3, "name": 4, "age": 5},
    {"id": 4, "name": 12, "age": 10}
]

temp = str(js1).replace('"', '\'')
data = eval(temp)
print(data)
print(type(data))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-2 13:46:30 | 显示全部楼层
json = [
    {"id": 1, "name": 1, "age": 1},
    {"id": 1, "name": 2, "age": 3},
    {"id": 1, "name": 4, "age": 4},
    {"id": 3, "name": 3, "age": 3},
    {"id": 3, "name": 4, "age": 5},
    {"id": 4, "name": 12, "age": 10}
]

temp = {}
for i in json:
    id_ = i["id"]
    name = i["name"]
    age = i["age"]
    if id_ not in temp:
        temp[id_] = {'id': id_, 'list': [{'name': name, 'age': age}]}
    else:
        temp[id_]['list'].append({'name': name, 'age': age})
json2 = list(temp.values())
print(json2)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-2 23:39:05 | 显示全部楼层

那么,请问如何用php来实现?
php的json转换报错,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-2 23:40:47 | 显示全部楼层

谢谢,感兴趣的话帮我想一下如何用php来实现。给点提示
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-3 09:53:48 | 显示全部楼层
真的只会一点点 发表于 2020-12-2 23:39
那么,请问如何用php来实现?
php的json转换报错,谢谢

https://www.runoob.com/php/php-json.html
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-17 05:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表