我想从 JSON 数据文件中提取用户名。
[{"username": "Cobra", "user_id": 146231486, "event_type": 2,
"title": null, "class_id": 4211, "war_state" : null,
"superpower_expire_date": 1441178060.0, "role": 3, "event_state": 2,
"avatar_id": 4211, "avatar_type" : 2, "recent_gifts": []},
{"username": "Divineshadow", "user_id": 1622533959, "event_type": 2,
"title" : null, "class_id": 1887, "war_state": null,
"superpower_expire_date": null, "role": 2, "event_state" : 2,
"avatar_id": 1887, "avatar_type": 2, "recent_gifts": []}, {"username":
"-TheLastTrojan_", "user_id" : 1387569472, "event_type": 2, "title":
null, "class_id": 1887, "war_state": null, "superpower_expire_date" :
1440106625.0, "role": 1, "event_state": 3, "avatar_id": 1887,
"avatar_type": 2, "recent_gifts": [] }, {"username": "-TheLostHero-",
"user_id": 246900216, "event_type": 2, "title": null, "class_id": 1887,
"war_state": null, "superpower_expire_date": null, "role": 3,
"event_state": 2, "avatar_id": 1887, "avatar_type": 2,
"recent_gifts": []}, {"username": "_The-Divineshadows-Minion_",
"user_id": 347494612 , "event_type": 2, "title": null, "class_id":
3382, "war_state": null, "superpower_expire_date": null , "role": 3,
"event_state": 2, "avatar_id": 3382, "avatar_type": 2, "recent_gifts": []}]
我想按照 JSON 数据文件中出现的顺序选择所有用户名,并将其编译到 Excel 表或文本文件的一列中。输出文件应如下所示:
- 眼镜蛇
- 神影
- —迷失的英雄—
- _The-Divineshadows-Minion_
关于如何实现我想要的输出文件,有什么帮助吗?
答案1
您可以在 notepad++ 中使用搜索替换功能(或任何具有相当好的搜索替换功能的工具)执行此操作。在本例中,选择正则表达式搜索模式:
搜索:.+?username": "(.+?)".+?\}
代替: \1\n
这会将用户名放在一行上,然后您可以将其放入 Excel 中并在开头放置一个行号(如果您愿意),或者使用 TexFX notepad++ 插件来添加它们。
答案2
有一种方法可以使用 notepad++ 工具来实现这一点。
- Ctrl+ F>> 查找:“用户名”:“(.+?)”
- 移至“标记”选项卡 >> 标记全部
- 复制标记的文本
完毕! :)
答案3
您可以通过在线JSON 到 CSV 转换器。
只需上传您的 JSON 文本,您就能够下载 CSV 文件。
答案4
如果在 PC 上,请使用 Windows Powershell:
$json = @"
[{"username": "Cobra", "user_id": 146231486, "event_type": 2,
"title": null, "class_id": 4211, "war_state" : null,
"superpower_expire_date": 1441178060.0, "role": 3, "event_state": 2,
"avatar_id": 4211, "avatar_type" : 2, "recent_gifts": []},
{"username": "Divineshadow", "user_id": 1622533959, "event_type": 2,
"title" : null, "class_id": 1887, "war_state": null,
"superpower_expire_date": null, "role": 2, "event_state" : 2,
"avatar_id": 1887, "avatar_type": 2, "recent_gifts": []}, {"username":
"-TheLastTrojan_", "user_id" : 1387569472, "event_type": 2, "title":
null, "class_id": 1887, "war_state": null, "superpower_expire_date" :
1440106625.0, "role": 1, "event_state": 3, "avatar_id": 1887,
"avatar_type": 2, "recent_gifts": [] }, {"username": "-TheLostHero-",
"user_id": 246900216, "event_type": 2, "title": null, "class_id": 1887,
"war_state": null, "superpower_expire_date": null, "role": 3,
"event_state": 2, "avatar_id": 1887, "avatar_type": 2,
"recent_gifts": []}, {"username": "_The-Divineshadows-Minion_",
"user_id": 347494612 , "event_type": 2, "title": null, "class_id":
3382, "war_state": null, "superpower_expire_date": null , "role": 3,
"event_state": 2, "avatar_id": 3382, "avatar_type": 2, "recent_gifts": []}]
"@
($json | ConvertFrom-JSON).GetEnumerator() | Select username
如果你想转换为 CSV:
($json | ConvertFrom-json).GetEnumerator() | Select username | ConvertTo-CSV -NoTypeInformation