【问题标题】:Can I parse my JSON data like this?我可以像这样解析我的 JSON 数据吗?
【发布时间】:2019-01-21 00:58:27
【问题描述】:
String json = new Gson().toJson(cList);

JSONArray jasonlist = new JSONArray(json);

Map<String, Object> obj = new HashMap<>();

String dob1 = (String)obj.get("createdDate");
Date dtDob = new Date(dob1);
SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy");
String  newDate = sdf.format(dtDob);

obj.put("companymasterdata", jasonlist);
obj.put("EVENTNAME", "COMPANY_DATA");
obj.put("SOURCENAME", "COMPANY_KAFKA");

我只想知道我的“createdDate”是否被解析或者是否引发运行时错误。

【问题讨论】:

  • 原谅我,但在行:String dob1 = (String)obj.get("createdDate"); Obj 是一个空的Map 对吗?
  • 是的,obj 是 MAP 对象,我在其中添加键和值对
  • 但是,您正试图从中获取关键 createdDate 的价值?
  • 为什么不尝试运行你的代码(在你修复了明显的错误之后)看看格式化是否有效?
  • 是的@MadhanVaradhodiyil 它是对象( obj )中的一个键

标签: java json gson


【解决方案1】:

当您创建一个空地图时,如果您尝试读取"createdDate",您将得到null 作为结果。这不会引发任何异常。

但是,在下一行中,您要初始化一个新的Date 对象并传递dob1(始终为null)。这将导致IllegalArgumentException 被抛出。

您只需执行代码即可轻松找到所有内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-29
    • 1970-01-01
    • 1970-01-01
    • 2015-12-14
    • 2018-02-14
    • 1970-01-01
    • 2013-02-20
    相关资源
    最近更新 更多