用Python解析格式化的JSON

用Python解析格式化的JSON,python,json,parsing,formatting,Python,Json,Parsing,Formatting,我想解析JSON。如果我在一行中写JSON就可以了 json_input = '{ "rate_of_climbing": 18.4, "speed_factor": 520}' 但如果我已格式化JSON,则解析器不起作用: json_input = '{ "rate_of_climbing": 18.4, "speed_factor": 520 }' 如何读取格式化字符串的JSON 我的完整代码: import json json_input = '{ "ra

我想解析JSON。如果我在一行中写JSON就可以了

json_input = '{ "rate_of_climbing": 18.4, "speed_factor": 520}'
但如果我已格式化JSON,则解析器不起作用:

json_input = '{ 
    "rate_of_climbing": 18.4, 
    "speed_factor": 520
}'
如何读取格式化字符串的JSON

我的完整代码:

import json
json_input = '{ 
    "rate_of_climbing": 18.4, 
    "speed_factor": 520
}'

try:
    decoded = json.loads(json_input)

    print json.dumps(decoded, sort_keys=True, indent=4)
    print "JSON parsing example: ", decoded['rate_of_climbing']
    print "Complex JSON parsing example: ", decoded['speed_factor']

except (ValueError, KeyError, TypeError):
    print "JSON format error"
如果字符串包含换行符,请使用
''triple-quoted string literals'
(或
''triple-quoted string literals”“

json_input = '''{ 
    "rate_of_climbing": 18.4, 
    "speed_factor": 520
}'''

我认为您可以将这些json数据信息存储在一个文件中
然后阅读所有内容:

json_data = ''.join([line.strip() for line in open('path to json file')])
那么

_data = json.loads(json_data) 
json.dumps(_data)

定义Python字符串的方式不起作用。
json
模块工作得很好……大概您在这里得到了一个
SyntaxError
;如果您遇到不同的错误,是否可以删除
try
中除
行以外的行(取消删除其余行),并向我们显示您遇到的错误?包括重现问题的示例输入。谢谢,也许我以后会使用你的建议!