从onenote响应字符串解析的python文本

时间:2017-05-23 00:20:16

标签: python json parsing

如何将这样的字符串解析为数据结构。我应该使用什么解析工具?

u'{\r\n  "@odata.context":"https://www.onenote.com/api/v1.0/$metadata#me/notes/notebooks(\'0-AB87696357344A7E%212879\')/sections(parentNotebook(id,name,self),parentSectionGroup(id,name,self))","value":[\r\n    {\r\n      "id":"0-AB87696357344A7E!2881","self":"https://www.onenote.com/api/v1.0/me/notes/sections/0-AB87696357344A7E!2881","createdTime":"2017-05-18T01:14:32.977Z","name":"Untitled Section","createdBy":"Jason","createdByIdentity":{\r\n        "user":{\r\n          "id":"AB87696357344A7E","displayName":"Jason"\r\n        }\r\n      },"lastModifiedBy":"Jason","lastModifiedByIdentity":{\r\n        "user":{\r\n          "id":"AB87696357344A7E","displayName":"Jason"\r\n        }\r\n      },"lastModifiedTime":"2017-05-18T02:19:00.587Z","isDefault":false,"pagesUrl":"https://www.onenote.com/api/v1.0/me/notes/sections/0-AB87696357344A7E!2881/pages","parentNotebook@odata.context":"https://www.onenote.com/api/v1.0/$metadata#me/notes/notebooks(\'0-AB87696357344A7E%212879\')/sections(\'0-AB87696357344A7E%212881\')/parentNotebook(id,name,self)/$entity","parentNotebook":{\r\n        "id":"0-AB87696357344A7E!2879","name":"Companies and sectors","self":"https://www.onenote.com/api/v1.0/me/notes/notebooks/0-AB87696357344A7E!2879"\r\n      },"parentSectionGroup@odata.context":"https://www.onenote.com/api/v1.0/$metadata#me/notes/notebooks(\'0-AB87696357344A7E%212879\')/sections(\'0-AB87696357344A7E%212881\')/parentSectionGroup(id,name,self)/$entity","parentSectionGroup":null\r\n    }\r\n  ]\r\n}'

1 个答案:

答案 0 :(得分:2)

正如SuperSaiyan在评论中提到的,这是一个JSON字符串。所以很容易用json库解析:

import json
json_data = json.loads(
    u'{\r\n  "@odata.context":"https://www.onenote.com/api/v1.0/$metadata#me/notes/notebooks(\'0-AB87696357344A7E%212879\')/sections(parentNotebook(id,name,self),parentSectionGroup(id,name,self))","value":[\r\n    {\r\n      "id":"0-AB87696357344A7E!2881","self":"https://www.onenote.com/api/v1.0/me/notes/sections/0-AB87696357344A7E!2881","createdTime":"2017-05-18T01:14:32.977Z","name":"Untitled Section","createdBy":"Jason","createdByIdentity":{\r\n        "user":{\r\n          "id":"AB87696357344A7E","displayName":"Jason"\r\n        }\r\n      },"lastModifiedBy":"Jason","lastModifiedByIdentity":{\r\n        "user":{\r\n          "id":"AB87696357344A7E","displayName":"Jason"\r\n        }\r\n      },"lastModifiedTime":"2017-05-18T02:19:00.587Z","isDefault":false,"pagesUrl":"https://www.onenote.com/api/v1.0/me/notes/sections/0-AB87696357344A7E!2881/pages","parentNotebook@odata.context":"https://www.onenote.com/api/v1.0/$metadata#me/notes/notebooks(\'0-AB87696357344A7E%212879\')/sections(\'0-AB87696357344A7E%212881\')/parentNotebook(id,name,self)/$entity","parentNotebook":{\r\n        "id":"0-AB87696357344A7E!2879","name":"Companies and sectors","self":"https://www.onenote.com/api/v1.0/me/notes/notebooks/0-AB87696357344A7E!2879"\r\n      },"parentSectionGroup@odata.context":"https://www.onenote.com/api/v1.0/$metadata#me/notes/notebooks(\'0-AB87696357344A7E%212879\')/sections(\'0-AB87696357344A7E%212881\')/parentSectionGroup(id,name,self)/$entity","parentSectionGroup":null\r\n    }\r\n  ]\r\n}'
)
print(type(json_data))
print(json_data['value'][0]['createdBy'])

<强>结果:

<type 'dict'>
Jason