我正在编写一个解析器来从GitHub api中获取数据,我想将该文件输出为以下.js格式:
//Ideal output
var LIST_DATA = [
{
"name": "Python",
"type": "category"
}]
虽然我在使用变量output.js
写入var LIST_DATA
文件时遇到问题,但无论我对字符串做什么,最终结果显示为"var LIST_DATA"
例如:
//Current Output
"var LIST_DATA = "[
{
"name": "Python",
"type": "category"
}]
我的Python脚本:
var = "var LIST_DATA = "
with open('list_data.js', 'w') as outfile:
outfile.write(json.dumps(var, sort_keys = True))
我还尝试根据this StackOverflow回答使用strip
方法并得到相同的结果
var = "var LIST_DATA = "
with open('list_data.js', 'w') as outfile:
outfile.write(json.dumps(var.strip('"'), sort_keys = True))
我假设,每当我将文本转储到js文件中时,字符串都会与双引号一起传入......有没有办法解决这个问题?
感谢。
答案 0 :(得分:0)
尝试
public String startDate;
public String cpm;
public int id;
public String name;
public Campaigns () {
}
public String getStartDate() {
return startDate;
}
public void setStartDate(String startDate) {
this.startDate = startDate;
}
public String getCpm() {
return cpm;
}
public void setCpm(String cpm) {
this.cpm = cpm;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
json库不是你想要的。
此外,除非密钥中有空格,否则Javascript中的字典不需要带引号的密钥。
输出: {{0}}
答案 1 :(得分:0)
如果您将字符串传递给json.dumps
,则会始终引用该字符串。第一部分(变量的名称)不是JSON - 因此您只想逐字写入,然后使用json.dumps
编写对象:
var = "var LIST_DATA = "
my_dict = [
{
"name": "Python",
"type": "category"
}
]
with open('list_data.js', 'w') as outfile:
outfile.write(var)
# Write the JSON value here
outfile.write(json.dumps(my_dict))