从python中的js文件中读取json数据

时间:2017-10-26 05:08:52

标签: javascript python json python-2.7

我使用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中解析它以及如何使用它

3 个答案:

答案 0 :(得分:2)

如果我在你的地方,我会尝试两种方法 -

  1. 将我的.js文件转换为.json文件,然后使用@Sandeep Lade建议的方法。

  2. 将.js文件作为字符串读取,裁剪出值部分,然后按照@rahul先生的建议使用json.loads(<cropped part>)

  3. 以下是如何实现第二种解决方案 -

    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对象时,代码才有效。

答案 1 :(得分:0)

import json
jsonfile=open("/path/to/json file")
data=json.load(jsonfile)

以上代码将存储将您的json数据存储在名为data的字典中。然后,您可以处理字典

答案 2 :(得分:-1)

import json
j = json.loads('{"one" : "1", "two" : "2", "three" : "3"}')
print j['two']//2

这里是一个如何解析json的例子 希望这会对你有所帮助,如果有任何疑问让我知道