我正在尝试将python dict转换为Javascript dict。据我所知,我必须将python dict转换为Json,我可以将其转换为Javascript对象
view.py
jsonheaderdict = json.dumps ( headerdict)
模板中的 {{jsonheaderdict}}
会导致
{"F 1": ["BBBB", "AAAAA"], "F 2": ["ASDASD"], "F 3": ["QWEQWE"]}
我的js看起来像这样
$(".dict").click(function () {
alert("first alert");
var result = JSON.parse(jsonheaderdict);
alert(result);
});
第一个警报显示,第二个警报没有。我错过了什么?已经尝试过的var result = jQuery.parseJSON(jsonheaderdict);
也没有用。
我搜索了类似的问题,但没有发现任何对我有用的灵魂。
修改
为了更好地理解在我的视图中如何创建jsonheaderdict
:
headerdict = dict()
for d in projectdescriptors: #list of objects called descriptors
dp = projectprojections.filter(descriptor=d) #list of objects connected to descriptors
parray = []
for p in dp:
parray.append(p.name)
headerdict[d.name] = parray
答案 0 :(得分:1)
@Rubik ,我猜, alert()将字符串作为参数,并在第二次调用alert()时将其传递给对象。
JSON.parse()从任何对象(数组,集等)的字符串表示创建一个对象。
请尝试更改 JS 代码,如下所示(只修改2行):
请评论如果它不起作用,我会更新我的答案来帮助你。
from(config('app.senders.info.address'), config('app.senders.info.name'))
»请尝试以下示例代码进行验证。
$(".dict").click(function () {
alert("first alert");
// var result = JSON.parse(jsonheaderdict);
alert(JSON.stringify(jsonheaderdict));
});
答案 1 :(得分:0)
重要的是要认识到你没有将值从Python传递给JavaScript,而是使用Python 编写JavaScript源代码。
此...
range
...是将对象(使用object literal创建)分配给vector
的JavaScript语法。
它不是JSON。它不是一个字符串。把它放在library(tidyverse)
v1 <- setNames(c(NA, 1, 0), as.character(unique(testdata$visit)))
testdata %>%
mutate(positivity = v1[visit]) %>%
split(.$visit) %>%
map2_df(., list(1:100, 20000:30000, 1:100), ~
.x %>%
mutate(response = sample(.y, n())))
附近的任何地方都没有意义。
直接使用该对象。