有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用jsonsimple实现jQuery UI自动完成的java JSON格式

我正在尝试生成一个适当的JSON输出,以便与jQuery UI Autocomplete一起使用。我被迫使用JavaJSON简单库,我尝试了我能想到的所有组合

假设我喜欢下拉列表来显示“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简单库正确设置它

谢谢


共 (2) 个答案

  1. # 1 楼答案

    你应该改用JSONArray

    JSONObject jobj = new JSONObject();
    JSONArray arr = new JSONArray();
    
    arr.add("Alex1");
    arr.add("Alex2");
    
    jobj.put("values", arr);
    
    return jobj.toJSONString();
    

    这将返回一个带有键值的JSON字符串,键值包含一个值数组

  2. # 2 楼答案

    示例#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}