如何解析多个json对象?

问题描述 投票:0回答:1

[我正在尝试解析多个JSON对象字符串,并遇到以下错误,我查看了其他各种SO帖子,但找不到具体答案,有关如何获取['currentPatchSet']['revision']字段的任何指导?

import json
multiple_json_string = """{"project":"tech-ci","branch":"master","id":"I0cf2f613060f08f8de3b88b727def74564d9de53","number":37011,"subject":"Testing autosdet ok2build","owner":{"name":"Firstname Lastname","email":"[email protected]","username":"gLastname"},"url":"https://tech-gerrit.sd.company.com/37011","commitMessage":"Testing autosdet ok2build\n\nChange-Id: I0cf2f613060f08f8de3b88b727def74564d9de53\n","createdOn":1589327145,"lastUpdated":1589327274,"open":true,"status":"NEW","currentPatchSet":{"number":1,"revision":"3b127a2ccfef689d5e691134b56ba7af8fb844d7","parents":["aad6ad50758c8228dfe5d0dbbeecf62857f36f6a"],"ref":"refs/changes/11/37011/1","uploader":{"name":"Firstname Lastname","email":"[email protected]","username":"gLastname"},"createdOn":1589327145,"author":{"name":"Firstname Lastname","email":"[email protected]","username":"gLastname"},"isDraft":false,"kind":"REWORK","sizeInsertions":1,"sizeDeletions":-1}}
{"type":"stats","rowCount":1,"runTimeMilliseconds":2,"moreChanges":false}"""

for jsonobject in json.loads(multiple_json_string):
    print jsonobject['currentPatchSet']['revision']

错误:-

Traceback (most recent call last):
  File "parsing_multiple_json.py", line 5, in <module>
    for jsonobject in json.loads(multiple_json_string):
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 339, in loads
    return _default_decoder.decode(s)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 364, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 380, in raw_decode
    obj, end = self.scan_once(s, idx)
ValueError: Invalid control character at: line 1 column 326 (char 325)
python json python-2.7
1个回答
0
投票

这可能很脆弱,但是您始终可以通过在方括号前/后将JSON解释为一个集合:

© www.soinside.com 2019 - 2024. All rights reserved.