0

我正在尝试生成正确的 JSON 输出以用于 jQuery UI 自动完成。我被迫使用 JAVA json-simple lib,我尝试了所有我能想到的组合。

假设我喜欢下拉列表显示“Alex1”、“Alex2”、“Alex3”等列表。

我试过以下

JSONObject obj =new JSONObject();
List strs = new ArrayList();
    strs.add("Alex1");
    strs.add("Alex2");
    strs.add("Alex3"); 
    strs.add("Alex4");
obj.put("source", strs);
return(obj.toJSONString());

而且我也试过

JSONObject obj =new JSONObject();
Map map = new LinkedHashMap();
    map.put("id1", "Alex1");
    map.put("id2", "Alex2");
    map.put("id3", "Alex3");
    map.put("id4", "Alex4");
obj.put("source", map);
return(obj.toJSONString());

但没有运气

我试图以正确的格式返回一个手工制作的字符串,并且我的模块运行良好,所以我知道问题出在 JSON 输出上。

有人告诉我如何使用 json-simple 库正确设置它?

谢谢

4

2 回答 2

0

你应该JSONArray改用。

JSONObject jobj = new JSONObject();
JSONArray arr = new JSONArray();

arr.add("Alex1");
arr.add("Alex2");

jobj.put("values", arr);

return jobj.toJSONString();

这将返回一个带有键的 JSON 字符串 - 具有值数组的值。

于 2014-12-13T09:18:05.293 回答
0

Example #1 一个 json_encode() 例子

<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);

echo json_encode($arr);
?>

上面的例子将输出: {"a":1,"b":2,"c":3,"d":4,"e":5}

于 2011-10-18T21:17:55.960 回答