我在UI上使用这个bootstrap transfer插件,我必须在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”}这对这个插件不起作用。
答案 0 :(得分:2)
使用带引号的字符串时,可以检查它是如何再次运行的。 访问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中定义密钥的方式确实无关紧要。我知道这不是你如何这个问题的确切答案,但你真的不应该这样做。