java – 用Gson分析JSON地图/字典?
发布时间:2020-05-24 17:09:25 所属栏目:Java 来源:互联网
导读:我需要解析一下 JSON响应: {key1: value1, key2: value2, key3: {childKey1: childValue1, childKey2: childValue2, childKey3: childValue3 }}class Egg { @SerializedN
|
我需要解析一下 JSON响应: {"key1": "value1","key2": "value2","key3":
{"childKey1": "childValue1","childKey2": "childValue2","childKey3": "childValue3" }
}
class Egg {
@SerializedName("key1")
private String mKey1;
@SerializedName("key2")
private String mKey2;
@SerializedName("key3")
// ???
}
我正在阅读Gson文档,但无法弄清楚如何正确地将字典反序列化为地图. 解决方法Gson很容易处理一个JSON对象的反序列化,其名称为:值对到Java Map.以下是使用原始问题的JSON的示例. (此示例还演示如何使用FieldNamingStrategy避免为每个字段指定序列化名称,前提是字段到元素的名称映射是一致的.) import java.io.FileReader;
import java.lang.reflect.Field;
import java.util.Map;
import com.google.gson.FieldNamingStrategy;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
public class Foo
{
public static void main(String[] args) throws Exception
{
GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.setFieldNamingStrategy(new MyFieldNamingStrategy());
Gson gson = gsonBuilder.create();
Egg egg = gson.fromJson(new FileReader("input.json"),Egg.class);
System.out.println(gson.toJson(egg));
}
}
class Egg
{
private String mKey1;
private String mKey2;
private Map<String,String> mKey3;
}
class MyFieldNamingStrategy implements FieldNamingStrategy
{
//Translates the Java field name into its JSON element name representation.
@Override
public String translateName(Field field)
{
String name = field.getName();
char newFirstChar = Character.toLowerCase(name.charAt(1));
return newFirstChar + name.substring(2);
}
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- java基于ConcurrentHashMap设计细粒度实现代码
- java.lang.NoSuchMethodException: com.sun.proxy.$Proxy58
- java – 如何避免在wicket中请求结束时重置FileUploadField
- Java6实现闪屏窗口 Splash Screen
- Java中是否存在通配符这样的东西?
- springboot整合Quartz实现动态配置定时任务的方法
- Servlet获取AJAX POST请求中参数以form data和request payl
- java – Spark Dataframe在指定Schema时返回NULL
- 什么Java编译器使用jsr指令,什么?
- java – 从服务检索的日期格式
