所以我正在调整基于python的GUI到基于javascript的Web GUI。程序将大型JSON消息发送到某个服务器进行处理。服务器接收消息,其中某些值设置如下:
"someVar": []
但是,我不知道如何在javascript中以相同的方式从我自己的GUI发送它。我的解决方案导致了这个:
"someVar": null
服务器不喜欢这样,但我找不到一种方法来分配一个空数组而不将它默认为null。
对象就像这样开始:
{
var1: null
var2: "someString"
var3: 1.3
...
}
当服务器获取此信息时,通常会打印出来
{
var1: []
var2: "someString"
var3: 1.3
...
}
所以我们假设这个对象存储在一个名为curConfig
的变量中我想做这样的事情:
curConfig['var1'] = []
但是当它被发送到服务器时,仍然会给我一个空值而不是[]。
答案 0 :(得分:2)
如果在使用JSON#stringify时要将大量null
值更改为空数组,则可以使用替换函数(第2个参数):
JSON.stringify(value[, replacer[, space]])
该函数接收密钥和值,您可以决定要返回的值。
var data = {
var1: null,
var2: "someString",
var3: 1.3
};
var reslut = JSON.stringify(data, function(key, value) {
if (value === null) {
return [];
}
return value;
});
console.log(reslut);

答案 1 :(得分:0)
要在javascript中初始化一个空数组,只需将其写为
即可var arr = [];
JSON的示例
var obj = {
arr: []
};
JSON.stringify(obj); // "{ "arr": [] }"
答案 2 :(得分:0)
像这样初始化对象:
{
var1: [],
var2: "someString",
var3: 1.3,
...
}
此外,
curConfig.var1 = [];
应该有效,我不知道为什么它不适合你。