java - 如何对 JSONArray 进行排序?

标签 java json jsp

我写了一些jsp来生成json,但在一种情况下,我遇到了一个问题, 我下订单和收到订单不一样, 我将 1,2,3,4,5 放入 jsonarray,但似乎返回了错误的顺序 3,2,5,1,4 这是我在jsp中的代码:

Map map = new LinkedHashMap();  
Iterator itor = listView.getList().iterator();
JSONObject json = new JSONObject();
JSONArray jArray = new JSONArray();

while ( itor.hasNext() ) {
    current = (EvidPackageDao) itor.next();
    map.put("id", current.getPackageId());
    map.put("packno", current.getPackageNo());
    map.put("photocover", current.getPhotoCover());
    map.put("photoback", current.getPhotoBack());
    map.put("evidi", current.getEvidIndentification());
    map.put("type", current.getEvidType());
    map.put("verno", current.getVersionNo());
    map.put("isbn", current.getIsbn());
    map.put("pub", current.getPublisher());
    map.put("distr", current.getDistributor());
    map.put("producer", current.getProducer());
    map.put("cprl", current.getCoptrightLogo());
    map.put("cprt", current.getCopyrightText());
    map.put("reason", current.getIllegalReason());

    Iterator it = map.entrySet().iterator();

    while (it.hasNext()) 
            {
           Map.Entry entry = (Map.Entry) it.next();
        Object key = entry.getKey();
        Object value = entry.getValue();
        System.out.println("key=" + key + ", value=" + value);

    }

            /*
             print:
        key=id, value=81
        key=packno, value=fsdfdsfsdf
        key=photocover, value=null
        key=photoback, value=null
        key=evidi, value=sdfsadf
        key=type, value=dsfsdf
        key=verno, value=sdfasdfl
        key=isbn, value=3224jsfklf
        key=pub, value=fdsjkla
        key=distr, value=lkfjl;dsfklj
        key=producer, value=fdafjdsl;
        key=cprl, value=sdfjadlfkj
        key=cprt, value=sdfadff
        key=reason, value=fdsfdsafasf

            */
    jArray.put(map);
    System.out.println(jArray.toString());
            /*
            print:
               [{"reason":null,"distr":null,"type":null,"pub":null,"verno":null,"id":82,"cprl":null,"isbn":null,"evidi":null,"photoback":null,"producer":null,"packno":null,"photocover":null,"cprt":null},{"reason":"fdsfdsafasf","distr":"lkfjl;dsfklj","type":"dsfsdf","pub":"fdsjkla","verno":"sdfasdfl","id":81,"cprl":"sdfjadlfkj","isbn":"3224jsfklf","evidi":"sdfsadf","photoback":null,"producer":"fdafjdsl;","packno":"fsdfdsfsdf","photocover":null,"cprt":"sdfadff"}]
            */

}

那么我怎样才能得到与我放入 HashMap 相同的正确顺序??????像 [{"id":null, ?

最佳答案

您使用哪个库?我正在使用 json-simple 库,并且以下代码有效:

public static void main(String[] args) {
    // TODO Auto-generated method stub
    Map map = new LinkedHashMap();
    JSONArray jArray = new JSONArray();


    map.put("id", "aaaaaa");
    map.put("packno", "bbbbb");
    map.put("photocover", "cccccc");
    map.put("photoback", "ddddd");
    map.put("evidi", "eeeeee");
    map.put("type", "ffffff");


    jArray.add(map);
    System.out.println(jArray.toString());

}

输出:

[{"id":"aaaaaa","packno":"bbbbb","photocover":"cccccc","photoback":"ddddd","evidi":"eeeeee","type":"ffffff"}]

关于java - 如何对 JSONArray 进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9612655/

相关文章:

java - 如何对无效验证方法的两种情况进行单元测试?

java - @JsonSerialize - 如何在运行时创建包装器并为对象字段使用默认序列化?

java - RequestDispatcher.include(...) 附加 servlet 的包名称

java - 在名称为 'HelloWeb' 的 DispatcherServlet 中找不到具有 URI [/HelloWeb/] 的 HTTP 请求的映射

java - Spring Json 日期和时间格式化

java - 如何每 5 秒更新一次 textview 变量

php - 我无法使用 mysql 表中的数据创建谷歌折线图

javascript - 强制水平负载

java - 如何显示弹出pdf文件而不是使用java内部保存?

java - 使用自定义 _id 值