将这样的字符串解析为没有双引号的数组的最简单方法是什么?

时间:2014-03-19 23:37:08

标签: c#

是否有单行或什么?该字符串将采用

的形式
["abc", "cde", "efg", ... "foo"]

例如:

["CD", "IN", "NN"]

另一个例子:

["NNS","CC","NNS","IN","JJ","NN",",","NN"]

因此该元素也可以是逗号。

4 个答案:

答案 0 :(得分:2)

如果字符串是标准JSON,请使用Json.NET

const string json = @"[""Hello"",""World""]";
var jsonObject = JsonConvert.DeserializeObject<dynamic>(json);

foreach (string s in jsonObject)
{
    Console.WriteLine(s);
}

如果你的问题中的字符串保证是一个简单的JSON字符串数组,那么其他答案将是一个更好的解决方案;只需根据您的需要将dynamic更改为string[]IEnumerable<string>JArray

答案 1 :(得分:2)

请参阅http://james.newtonking.com/json - 此外还有一个Nuget包,这是您搜索&#34; json&#34;时的第一个结果(无论如何)。

string json; // Your string.
string[] jsonAsArray = JsonConvert.DeserializeObject<string[]>(json);

答案 2 :(得分:1)

一个班轮?假设您正在使用json.NET,您的json只是一个字符串数组,所以以下内容将为您完成;

string[] myJson = JsonConvert.DeserializeObject<string[]>(jsonString);

答案 3 :(得分:0)

myString.TrimStart("[\"").TrimEnd("\"]").Split(new string[] { "\",\"", "\" ,\"" }, StringSplitOptions.None);