在Xamarin中使用Gson进行字符串转换的通用列表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Xamarin中使用Gson进行字符串转换的通用列表相关的知识,希望对你有一定的参考价值。

我是Xamarin的新手,我试图将我的泛型类型列表转换为单个字符串。我可以使用下面的代码轻松地在android中执行此任务。

Gson gson = new Gson();
    Type collectionType = new TypeToken<ArrayList<Response_bean>>() {}.getType();
    JsonElement element = gson.toJsonTree(response_data, collectionType);
    JsonArray jsonArray = element.getAsJsonArray();
    String strjsonarray = jsonArray.toString();

但我无法在Xamarin中找到它的替代品。请提前帮助,谢谢。

答案

我想你可以使用json.net

Product product = new Product();
product.Name = "Apple";
product.Expiry = new DateTime(2008, 12, 28);
product.Sizes = new string[] { "Small" };

string json = JsonConvert.SerializeObject(product);
// {
//   "Name": "Apple",
//   "Expiry": "2008-12-28T00:00:00",
//   "Sizes": [
//     "Small"
//   ]
// }
另一答案

正如Alessandro Caliaro所说,json.net可以帮助你。

List<Product> list = new List<Product>();

Product product = new Product();
product.Name = "Apple";
product.Expiry = new DateTime(2008, 12, 28);
product.Sizes = new string[] { "Small" };

Product product2 = new Product();
product2.Name = "Banana";
product2.Expiry = new DateTime(2010, 12, 28);
product2.Sizes = new string[] { "Big" };

Product product3 = new Product();
product3.Name = "Pear";
product3.Expiry = new DateTime(2012, 12, 28);
product3.Sizes = new string[] { "Huge" };

list.Add(product);
list.Add(product2);
list.Add(product3);

string json = JsonConvert.SerializeObject(list);

Output

[
 {"Name":"Apple","Expiry":"2008-12-28T00:00:00","Sizes":["Small"]},
 {"Name":"Banana","Expiry":"2010-12-28T00:00:00","Sizes":["Big"]},
 {"Name":"Pear","Expiry":"2012-12-28T00:00:00","Sizes":["Huge"]}
]

以上是关于在Xamarin中使用Gson进行字符串转换的通用列表的主要内容,如果未能解决你的问题,请参考以下文章

Gson:直接将String转换为JsonObject(无POJO)

Kotlin 使用 Gson 将 json 字符串转换为对象列表

使用 GSON 在字符串和字节 [] 之间转换 JSON

java中如何将对象转成json格式字符串

Gson使用

如何使用 gson 库将字符串转换为 JsonObject