【发布时间】:2018-05-07 08:55:22
【问题描述】:
我有一个格式类似于 JSON 文件的文本文件,但是所有内容都在一行上(可能是 MongoDB 文件)。有人可以指点我如何使用 Python 正则表达式方法提取值的方向吗?
文本显示如下:
{"d":{"__type":"WikiFileNodeContent:http:\/\/samplesite.com.au\/ns\/business\/wiki","author":null,"description":null,"fileAssetId":"034b9317-60d9-45c2-b6d6-0f24b59e1991","filename":"Reports.pdf"},"createdBy":1531,"createdByUsername":"John Cash","icon":"\/Assets10.37.5.0\/pix\/16x16\/page_white_acrobat.png","id":3041,"inheritedPermissions":false,"name":"map","permissions":[23,87,35,49,65],"type":3,"viewLevel":2},{"__type":"WikiNode:http:\/\/samplesite.com.au\/ns\/business\/wiki","children":[],"content":
我想要获取“fileAssetId”和文件名“。我尝试使用 Pythons JSON 模块加载类似内容,但出现错误
对于 FileAssetid,我尝试了这个正则表达式:
regex = re.compile(r"([0-9a-f]{8})\S*-\S*([0-9a-f]{4})\S*-\S*([0-9a-f]{4})\S*-\S*([0-9a-f]{4})\S*-\S*([0-9a-f]{12})")
但我得到以下 034b9317、60d9、45c2、b6d6、0f24b59e1991
我不确定如何获取显示的数据。
【问题讨论】:
-
你能把你文件的一些数据放在这里吗?
-
文本显示如下: {"d":{"__type":"WikiFileNodeContent:http:\/\/samplesite.com.au\/ns\/business\/wiki", "author":null,"description":null,"fileAssetId":"034b9317-60d9-45c2-b6d6-0f24b59e1991","filename":"Reports.pdf"},"createdBy":1531,"createdByUsername":" John Cash","icon":"\/Assets10.37.5.0\/pix\/16x16\/page_white_acrobat.png","id":3041,"inheritedPermissions":false,"name":"map","权限":[23,87,35,49,65],"type":3,"viewLevel":2},{"__type":"WikiNode:http:\/\/samplesite.com.au\/ns \/business\/wiki","children":[],"content": 我想获取 "fileAssetId" 和文件名"
-
字典未完成。你是missgin
[开头和}]结尾 -
我很想提取 "fileAssetId": 之后的值和文件名之后的值,但我不知道该怎么做。
-
使用 JSON 解析器一定是更好的选择?
标签: python json regex python-2.7