jason jason - 1 year ago 48
Python Question

python text parsing from onenote response string

How do I parse a string like this into something readable? What parsing tool should I use?

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","[email protected]":"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 },"[email protected]":"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}'

Answer Source

As SuperSaiyan mentioned in comments, this is a JSON string. So is easily parsed with the json library:

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","[email protected]":"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      },"[email protected]":"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'])

Results:

<type 'dict'>
Jason
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download