[英]Reading JSON data from JS file
我正在使用 HTML 输入文件标签上传一个 JS 文件。 我正在用 Python 读取数据。 由于在我的数据中写入了 var acb_messages
,因此我无法解析它。 我想使用这个变量名来获取数据,以便我可以删除它。
var acb_messages = {"messages": [{
"timestamp": 1475565742761,
"datetime": "2016-10-04 12:52:22 GMT+05:30",
"number": "VM-449700",
"id": 1276,
"text": "Some text here",
"mms": false,
"sender": false
}
]}
如何在 Python 中解析它,然后如何使用它?
如果我在你的位置,我会尝试两种方法 -
将我的 .js 文件转换为 .json 文件,然后使用@Sandeep Lade 建议的方法。
将 .js 文件作为字符串读取,裁剪出值部分,然后按照@rahul mr 的建议使用json.loads(<cropped part>)
。
以下是如何实现第二个解决方案 -
import json
with open('your_js_file.js') as dataFile:
data = dataFile.read()
obj = data[data.find('{') : data.rfind('}')+1]
jsonObj = json.loads(obj)
这里发生的事情是您发现首先将 .js 文件(包含需要转换为 json 的 js 对象)作为字符串读取,找到{
的第一次出现和}
的最后一次出现,裁剪字符串的那部分,将其加载为json。
希望这是您正在寻找的。
警告- 仅当您的 js 文件仅包含 js 对象时,代码才有效。
上面的选项是正确的,但是 JS 中的 JSON 语法可能与 Python 中的有点不同:
例子.js:
property.docs = {
messages: {
timestamp: 1475565742761,
datetime: "2016-10-04 12:52:22 GMT+05:30",
number: "VM-449700",
id: 1276,
text: "Some text here",
mms: false,
sender: false
}
};
因此,我们需要我在以下位置找到的另一项调整: 如何将原始 javascript 对象转换为 python 字典?
完整的代码应该是:
import json
import demjson
with open('example.js') as dataFile:
data = dataFile.read()
json_out = data[data.find('{'): data.rfind('}')+1]
json_decode = demjson.decode(json_out)
print(json_decode)
import json
jsonfile=open("/path/to/json file")
data=json.load(jsonfile)
上面的代码将 store 将您的 json 数据存储在一个名为data
的字典中。 然后您可以处理字典
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.