求助怎么把Map> 转成json

qq_28863403 2018-03-23 01:48:37
求助有没有大佬解答下。谢谢
...全文
1251 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
java的艺术 2018-04-12
  • 打赏
  • 举报
回复
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 ); } }
Neo Yang 2018-04-06
  • 打赏
  • 举报
回复
这种不需要自己写。用阿里的FastJson或者Google的Gson,一行代码就搞定。在网上搜一下它们的用法。
CrazyCoder1992 2018-04-05
  • 打赏
  • 举报
回复
用Gson试试看
  • 打赏
  • 举报
回复
把2楼用的json包换成alibaba的fastjson,代码同样。
Sunyiban 2018-03-29
  • 打赏
  • 举报
回复
引用 4 楼 hjgzj 的回复:
[quote=引用 3 楼 qq_15437303 的回复:] 不对 不对 不对 的
怎么不对? 你提问的时候,源代码没有,数据没有,场景没有,让回答的人怎么办[/quote] 有道理~
  • 打赏
  • 举报
回复
引用 3 楼 qq_15437303 的回复:
不对 不对 不对 的
怎么不对? 你提问的时候,源代码没有,数据没有,场景没有,让回答的人怎么办
小葡萄、 2018-03-28
  • 打赏
  • 举报
回复
不对 不对 不对 的
  • 打赏
  • 举报
回复

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"]}
kevin&jc 2018-03-23
  • 打赏
  • 举报
回复
自己搞得话可能比较麻烦,还容易掉坑。要不试试第三发的成熟东西,比如阿里巴巴的fastjson

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧