【发布时间】:2015-08-02 17:51:33
【问题描述】:
我需要创建 JSON 并在字段上设置数组列表。 我们有 C#、.NET 的 api,他们希望我发送 JSON。
他们希望使用这些参数:
“客户 ID”:1, “地址ID”:1, "数组": 数组列表
我该怎么做?
【问题讨论】:
标签: android json wcf post arraylist
我需要创建 JSON 并在字段上设置数组列表。 我们有 C#、.NET 的 api,他们希望我发送 JSON。
他们希望使用这些参数:
“客户 ID”:1, “地址ID”:1, "数组": 数组列表
我该怎么做?
【问题讨论】:
标签: android json wcf post arraylist
您可以使用 Google 的名为 Gson 的 Json 库进行序列化和反序列化。
我假设您使用的是 Android Studio,如果没有,您仍然可以将此库导入您的项目。 首先,将此行添加到模块的 build.gradle 文件的依赖项中:
compile 'com.google.code.gson:gson:2.3.1'
然后创建一个类,添加你的变量并将它们标记为 JSON:
public class ToJson {
@SerializedName("CustomerID")
public int CustomerId;
@SerializedName("AddressID")
public int AddressId;
@SerializedName("Array")
public List array;
}
创建一个对象并填充:
ToJson toJson = new ToJson();
toJson.CustomerId = 1;
toJson.AddressId = 1;
toJson.array = new ArrayList<>();
toJson.array.add("Item 1");
toJson.array.add("Item 2");
toJson.array.add("Item 3");
然后创建一个Gson对象并使用它进行序列化:
Gson gson = new Gson();
String JSON = gson.toJson(toJson);
输出的 JSON 字符串为:
{
"Array": [
"Item 1",
"Item 2",
"Item 3"
],
"CustomerID": 1,
"AddressID": 1
}
就这么简单。 您也可以查看Gson User Guide 了解有关序列化/反序列化的更多信息。
【讨论】:
我可以推荐使用 Jackson。
你只需要实现一个 POJO 并注解即可。
看看这个。 http://www.studytrails.com/java/json/java-jackson-Serialization-list.jsp
【讨论】: