您好,在我的项目中,我需要使用GSON类
创建一个JSONArray类型 {
"message": [
"msg 1",
"msg 2",
"msg 3"
],
"asec": [
"asec 1",
"asec 2",
"asec 3"
]
}
我知道如何在GSON中创建具有键值的JSONArray,例如:
[
{
"message1": "msg 1",
"asc": "asc 1"
},
{
"message1": "msg 2",
"asc": "asc 2"
},
{
"message1": "msg 3",
"asc": "asc 3"
}
]
但我不知道如何创建JSONArray类型可以任何人帮助我
答案 0 :(得分:3)
班级:
public class JsonStructure{
public String[] message;
public String[] asec;
}
使用它:
JsonStructure json = new JsonStructure();
json.message = new String[]{"msg 1", "msg 2", "msg 3"};
json.asec = new String[]{"asec 1", "asec 2", "asec 3"};
Gson gson = new Gson();
String output = gson.toJson(json);
//convert from string
JsonStructure fromString = gson.fromJson(output, JsonStructure.class);
有关Google gson的更多详情,请查看https://sites.google.com/site/gson/gson-user-guide
答案 1 :(得分:1)
public class ArrayBean {
ArrayList<String> message = new ArrayList<String>();
ArrayList<String> asec = new ArrayList<String>();
}
在arraybean之上创建bean类,然后你可以在主类上添加值并打印输出。
Gson gson = new Gson();
ArrayBean arrayBean = new ArrayBean();
arrayBean.message.add("msg 1");
arrayBean.message.add("msg 2");
arrayBean.message.add("msg 3");
arrayBean.asec.add("asec 1");
arrayBean.asec.add("asec 2");
arrayBean.asec.add("asec 3");
Log.d("rvg",""+gson.toJson(arrayBean));
答案 2 :(得分:1)
尝试以下代码来创建所需的JsonObject。
String[] msgArray = new String[]{"msg 1", "msg 2", "msg 3"};
String[] asecArray = new String[]{"asec 1", "asec 2", "asec 3"};
Gson gson = new Gson();
JsonObject obj = new JsonObject(); //Json Object
obj.add("message", gson.toJsonTree(msgArray));
obj.add("asec", gson.toJsonTree(asecArray));
String jsonString = gson.toJson(obj); //Json String
有关详细信息,请参阅Gson documentation