繁体   English   中英

如何在java中使用非字符串键名创建JSON数组?

[英]How to create JSON array in java with non-string key names?

我在UI上使用这个bootstrap传输插件,我必须在java应用程序发送的数据的帮助下填充。 此插件要求数据是具有“值”和“内容”属性的对象数组。 我可以轻松地在java中创建一个列表并将其转换为JSON数组,但问题是这个插件需要键名作为非字符串名称。 我尝试使用字符串键名称但是没有用。 我查找了在JSON中创建非字符串键名的方法,我找到的唯一方法是编写自己的解析器,这也是不推荐的。 那么如何在java中为这个插件准备我的数据呢?

编辑:如插件文档中所述,这里有一个填充它的示例数据。

$(function() {
...
var t = $('#test').bootstrapTransfer();
t.populate([
    {value:"1", content:"Apple"},
    {value:"2", content:"Orange"},
    {value:"3", content:"Banana"},
    {value:"4", content:"Peach"},
    {value:"5", content:"Grapes"}
]);
...

});

当我准备一个JSON数组时,它就像{“value”:“1”,“content”:“Apple”}这对这个插件不起作用。

您可以在使用带引号的字符串时检查它是如何再次运行的。 访问JSON对象时,不需要键的引号。 以这个代码为例(在Nodejs中):

var console = require("console");
var data = { "value1" : 13,
    "value2" : "hello",
    value3: 15,
    value4 : "hello again" };

console.log("Value 1 = " + data.value1 );
console.log("Value 2 = " + data.value2 );
console.log("Value 3 = " + data.value3 );
console.log("Value 4 = " + data.value4 );

一些对象用带引号的字符串声明,有些则不是。 所有都是在没有引号的情况下访问的,我的控制台显示:

Value 1 = 13
Value 2 = hello
Value 3 = 15
Value 4 = hello again

因此,在Java中定义密钥的方式确实无关紧要。 我知道这不是你如何做到的问题的确切答案,但你真的不应该这样做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM