在Monotouch中将IEnumerable <t>简单转换为JSON </t>

时间:2012-08-27 20:27:12

标签: c# .net json xamarin.ios

我想知道是否有一种逻辑方法可以从Monotouch-JSON中的任何IEnumerable生成JSON字符串。我找到了System.Json - 命名空间,但似乎总是需要KeyValuePair,我不明白如何使用这个重载。

要说清楚:我不想将某些WebRequest从JSON转换为.NET中的某些内容。我想要另一种方式,如ASP.NET中的JsonResult-Conversion。我最喜欢的是:

var list = new List<string>() { "value1", "value2" };
var result = new System.Json.JsonArray(list);

因此result就像

["value1","value2"]

3 个答案:

答案 0 :(得分:4)

Json.Net会提供您期望的输出

var list = new List<string>() { "value1", "value2" };
var result = JsonConvert.SerializeObject(list);

答案 1 :(得分:4)

它不是特别整洁,但这有效:

var list = new List<string>() { "value1", "value2" };

var result = new System.Json.JsonArray(list.Select(x => (System.Json.JsonValue)x));

Console.WriteLine( result.ToString() );

答案 2 :(得分:3)

最佳选择(兼容性和易用性)可能与Newtonsoft's JSON.NET库配合使用。