求助有没有大佬解答下。谢谢

解决方案 »

  1.   

    自己搞得话可能比较麻烦,还容易掉坑。要不试试第三发的成熟东西,比如阿里巴巴的fastjson
      

  2.   


    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;import net.sf.json.JSONObject;
    public class A {    public static void main(String[] args) {
            
            List<String> list1 = new ArrayList<>();
            list1.add("A");
            list1.add("B");
            list1.add("C");
            list1.add("D");
            list1.add("E");
            
            List<String> list2 = new ArrayList<>();
            list2.add("1");
            list2.add("2");
            list2.add("3");
            list2.add("4");
            list2.add("5");        Map<String, List<String>> map = new HashMap<>();
            map.put("word", list1);
            map.put("number", list2);
            
            JSONObject jsonObject = JSONObject.fromObject(map);
            System.out.println(jsonObject.toString());
        }
    }打印:{"number":["1","2","3","4","5"],"word":["A","B","C","D","E"]}
      

  3.   

    把2楼用的json包换成alibaba的fastjson,代码同样。
      

  4.   

    用Gson试试看
      

  5.   

    这种不需要自己写。用阿里的FastJson或者Google的Gson,一行代码就搞定。在网上搜一下它们的用法。
      

  6.   

    public class JSONResult {

    private static Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create();
    private static Gson gson1 = new GsonBuilder().setDateFormat("yyyy-MM-dd").create();;
    private Object data; private boolean success;

    public Object getData() {
    return data;
    } public void setData(Object data) {
    this.data = data;
    } public boolean isSuccess() {
    return success;
    } public void setSuccess(boolean success) {
    this.success = success;
    } public String toJSONP(String callback) {
    JsonObject jsonObject = new JsonObject();
    jsonObject.addProperty("success", this.success);
    jsonObject.add("data", new JsonParser().parse(gson.toJson(this.data)));
    return callback + "(" + jsonObject.toString() + ");";
    }
    public String toJSON() {
    JsonObject jsonObject = new JsonObject();
    jsonObject.addProperty("success", this.success);
    jsonObject.add("data", new JsonParser().parse(gson.toJson(this.data)));
    return jsonObject.toString();
    }
    public String toJSONP1(String callback) {
    JsonObject jsonObject = new JsonObject();
    jsonObject.addProperty("success", this.success);
    jsonObject.add("data", new JsonParser().parse(gson1.toJson(this.data)));
    return callback + "(" + jsonObject.toString() + ");";
    }
    public String toJSON1() {
    JsonObject jsonObject = new JsonObject();
    jsonObject.addProperty("success", this.success);
    jsonObject.add("data", new JsonParser().parse(gson1.toJson(this.data)));
    return jsonObject.toString();
    } public static JSONResult create(boolean success, Object data) {
    JSONResult result = new JSONResult();
    result.setData(data);
    result.setSuccess(success);
    return result;
    }
            public static void main(String[] args){
                      Map  map= new HashMap();
                      map.put("name","admin");
                      map.put("password","123456");
                     String jsonStr = JSONResult.create(true, page).toJSON();
                     System.out.println(jsonStr );
            } 
    }