在解析JSON文件时需要帮助

时间:2017-04-13 19:51:36

标签: python json python-2.7

我正在处理一个包含JSON格式数据但由于以下内容而导致JSON解析器无法识别数据的文件

1 - 用额外的反斜杠填充对象

2 - 对象的开始和结束括号位于引号{"menu":"{ }"}

我使用了replace()函数,但它清除了导致问题的所有黑色斜杠。

示例数据

{"menu": "{
 \"URL\": \"http:\\/\\/www.example.com\\/concepts\\/test\\/data\\/\",
 \"value\": \"File\",
  \"popup\":\"testfile\" 
  }"}

预期产出

{"menu": {
"url": "http:\/\/www.example.com\/concepts\/test\/data\/",
"value": "File",
"popup":"testfile" 
}}

任何帮助都将不胜感激。

谢谢

1 个答案:

答案 0 :(得分:3)

您的menu对象只是一个字符串的JSON,可以很容易地提取。

import json
inputjs = r"""{"menu": "{
 \"URL\": \"http:\\/\\/www.example.com\\/concepts\\/test\\/data\\/\",
 \"value\": \"File\",
  \"popup\":\"testfile\" 
  }"}"""

result = json.loads(inputjs.replace('\n', ''))
menu = result["menu"]
result = json.loads(menu);
json.dumps({'menu':result})