加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 用Gson读取JSon String

发布时间:2020-12-14 05:49:46 所属栏目:Java 来源:网络整理
导读:我一直在寻找谷歌试图解决这个问题,但我似乎无法做到这一点.我有以下json字符串从我需要与之交互的其他源返回到我的 Java applet. { "A01": {"Status": "Ready","Time": "00:00"},"A02": {"Status": "Ready",......} 目前我不确定我应该如何使用Gson将其解析
我一直在寻找谷歌试图解决这个问题,但我似乎无法做到这一点.我有以下json字符串从我需要与之交互的其他源返回到我的 Java applet.
{
 "A01": {"Status": "Ready","Time": "00:00"},"A02": {"Status": "Ready",......
}

目前我不确定我应该如何使用Gson将其解析为我的applet.当我与该计划的设计师交谈时. json字符串设计用于php而不是java,因此当我在php中解码它时,它给了我一个很好的多维关联数组.

对此提出任何建议.

解决方法

PHP中的关联数组转换为Java中的 Map.所以,在Gson看来,你的JSON格式是Map< String,Event> Event类具有字段状态和时间.
public class Event {
    private String Status;
    private String Time;

    // Add/generate getters,setters and other boilerplate.
}

是的,大写的字段名称很难看,但这就是你的JSON的样子.否则你需要创建一个custom Gson deserializer.

这是你如何转换它.

Map<String,Event> events = new Gson().fromJson(json,new TypeToken<Map<String,Event>>(){}.getType());

A01,A02等成为Map键,其值成为Map的Event值.您可能希望添加另一个自定义反序列化器以将时间转换为java.util.Date.

作为另一种选择,您还可以使用Map< String,Map< String,String>>代替.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读