gson怎么解析数组和空数组?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gson怎么解析数组和空数组?相关的知识,希望对你有一定的参考价值。

"platform": [
"id": "1",
"name": "抖音号",
"mediaid": "1",
"tar": [
"id": 1,
"name": "民宿旅游"
]
,

"id": "2",
"name": "快手号",
"mediaid": "2",
"tar": []
]

java中接受到这样的参数
gson怎么解析数组和空数组

参考技术A

就正常取出来就行了啊,不过建议每次从gson中get对象前,都要用has方法检查一下是否有对应的key,否则很容易造成空指针异常。

public class TT
public static void main(String[] args)
String json = "\\n" +
"  \\"platform\\": [\\n" +
"    \\n" +
"      \\"id\\": \\"1\\",\\n" +
"      \\"name\\": \\"抖音号\\",\\n" +
"      \\"mediaid\\": \\"1\\",\\n" +
"      \\"tar\\": [\\n" +
"        \\n" +
"          \\"id\\": 1,\\n" +
"          \\"name\\": \\"民宿旅游\\"\\n" +
"        \\n" +
"      ]\\n" +
"    ,\\n" +
"    \\n" +
"      \\"id\\": \\"2\\",\\n" +
"      \\"name\\": \\"快手号\\",\\n" +
"      \\"mediaid\\": \\"2\\",\\n" +
"      \\"tar\\": []\\n" +
"    \\n" +
"  ]\\n" +
"";

Gson gson = new GsonBuilder().disableHtmlEscaping().create();
JsonObject jsonObject = gson.fromJson(json, JsonObject.class);
System.out.println(jsonObject);

JsonArray jsonArray = jsonObject.getAsJsonArray("platform");
for (JsonElement jsonArrayElement : jsonArray)
JsonObject item = jsonArrayElement.getAsJsonObject();
if (item.has("tar"))
JsonArray tar = item.getAsJsonArray("tar");
System.out.println(tar);



运行结果:

以上是关于gson怎么解析数组和空数组?的主要内容,如果未能解决你的问题,请参考以下文章

gson 怎么处理 json数组字符串转list对象

cjson数组如何解析

如何使用 Gson 解析 JSON 数组

安卓怎么用gson解析服务端返回的复杂json数据

Gson解析数组array和list容器

使用 GSON 解析 JSON 数组