反序列化简单的字符串数组

时间:2014-08-15 16:50:02

标签: c#

我有一个简单的HTTPHandler,假装是一个Web服务 (平台限制,不要评判我)

我希望能够在javascript中创建一个字符串数组,将其字符串化,然后将其发送到REQUEST标题中,作为一组参数使用。

我的问题是,大多数反序列化方法都要求您创建一个命名对象并反序列化整个对象。我只想要简单的字符串,man。

var ar = [];

ar.push("one");
ar.push("two");

var arStr = JSON.stringify(ar);

//$Ajax() bla bla bla
//sends out as "[\"one\",\"two\"]"

我确信有一个简单的答案,但到目前为止我找不到它。

加成

平台约束也限制我使用第三方库。需要直接.NET

2 个答案:

答案 0 :(得分:2)

你的json是一个字符串数组/列表。您所需要的只是(使用Json.Net

List<string> list = JsonConvert.DeserializeObject<List<string>>(jsonstring);

如果您使用JavaScriptSerializer

var list = new JavaScriptSerializer().Deserialize<List<string>>(jsonstring);

BTW: 如果您使用的是ajax,则无需对该对象进行字符串化。只需将其作为对象发布。库在内部处理它,否则你可能需要在接收端进行双重判断。

答案 1 :(得分:0)

String.join(",", ar)如果您可以确保您的字符串不包含分隔符。