gpt4 book ai didi

java - 使用 Gson 读取 JSON 字符串

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:00:30 24 4
gpt4 key购买 nike

我一直在 Google 上搜索,试图解决这个问题,但我似乎做不到。我有以下 json 字符串,它从我需要与之交互的另一个来源返回到我的 java applet。

{
"A01": {"Status": "Ready", "Time": "00:00"},
"A02": {"Status": "Ready", "Time": "00:00"},
......
}

目前我不确定我应该如何使用 Gson 将其解析到我的小程序中。当我与该程序的设计者交谈时。 json 字符串是为在 php 而不是 java 中使用而设计的,所以当我在 php 中解码它时,它给了我一个很好的多维关联数组。

对此有何建议。

最佳答案

PHP 中的关联数组转换为 Map 在 java 。所以,在 Gson 看来,你的 JSON 格式是 Map<String, Event> Event在哪里类有字段 statustime .

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键及其值变为 Event Map 的值.您可能想要添加另一个自定义反序列化器来获取 Time进入java.util.Date .

作为另一种选择,您还可以使用 Map<String, Map<String, String>>相反。

关于java - 使用 Gson 读取 JSON 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4256451/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com