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

标签 java json twitter-bootstrap

我正在使用这个bootstrap transfer UI 上的插件,我必须借助从 java 应用程序发送的数据来填充它。该插件要求数据是具有“value”和“content”属性的对象数组。 我可以轻松地在 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 中如何定义并不重要。我知道这并不是您如何问题的准确答案,但您确实不需要这样做。

关于java - 如何在java中使用非字符串键名创建JSON数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20422074/

相关文章:

javascript - 来自 json 文件的 Angular ui 网格

javascript - 我有一个字符串,想使用 javascript 删除其特定部分中的特殊字符

java - 如何在 Java 中监听任何消息队列并将 XML 转换为 XSD?

javascript - 使用 Bootstrap 框对话框不会触发显示事件

html - 在 Twitter Bootstrap 中垂直居中

c# - 用于声卡信号分析的 Java 或 C# 库

java - 使用java中的synchronous关键字安全访问成员变量

java - 为什么在实例上调用方法时不需要导入类(Java)

java - 为什么这个弱监听器没有被垃圾收集?

html - CSS调整图像大小不接受参数