我已经在这个问题上纠结了很长一段时间,真的找不到解决方案……
作为一个背景--我使用一个名为'eel‘的库将python脚本与web GUI连接起来。
Python脚本使用json.dump生成一个.txt文件,如下所示:
{
"TEST": {"name": "TESTING", "email": "1", "telephone": "2"},
"Nik": {"name": "test", "email": "1", "telephone": "2"}
}
我正在尝试读取python中的json文件,将数据赋给一个变量:
with open('profile1.txt') as f:
data = json.load(f)
eel.my_javascript_function(data)
然后在JavaScript端接收:
eel.expose(my_javascript_function);
function my_javascript_function(a) {
var obj = JSON.stringify(a);
document.getElementById("demo").innerHTML = obj;
现在,obj
返回整个字符串,如下所示:
{
"TEST": {"name": "TESTING", "email": "1", "telephone": "2"},
"Nik": {"name": "test", "email": "1", "telephone": "2"}
}
我遇到的问题是-如何将特定的信息位分配给此字符串中的变量?
例如,如果我想进行一个var a =
测试或Nik,是否可以调用json的更高级别类别?
另外,我如何调用特定类别中的东西,即jsonTEST -沿着这些思路?
发布于 2018-06-01 04:10:03
我认为您应该研究一下JavaScript端的JSON.parse()方法...
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse
它将允许您传递一个嵌套的JSON结构,就像json.dump在示例中提供的一样,然后使用标准的JavaScript对象操作在其中导航,以获得嵌套值或结构。
var foo = '{"TEST": {"name": "TESTING", "email": "1", "telephone": "2"},"Nik": {"name": "test", "email": "1", "telephone": "2"}}';
var fooObject = JSON.parse( foo );
console.log( fooObject );
console.log( fooObject["Nik"] );
console.log( fooObject["Nik"]["email"] );
document.getElementById("myDiv").innerHTML = fooObject["TEST"]["name"];
<div id=myDiv></div>
https://stackoverflow.com/questions/50631833
复制相似问题