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

本文关键字:数组 最简单 方法 是什么 字符串 | 更新日期: 2023-09-27 17:50:58

有一行字吗?字符串的形式是

["abc", "cde", "efg", ... "foo"]
例如:

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

另一个例子:

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

元素也可以是逗号

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

如果字符串是标准JSON,则使用JSON。净:

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,根据您的需要。

参见http://james.newtonking.com/json -也有一个Nuget包,这是第一个结果(对我来说,无论如何)当你搜索"json"。

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

一行字?假设您正在使用json。你的json只是一个字符串数组,下面的代码将为你做:

string[] myJson = JsonConvert.DeserializeObject<string[]>(jsonString);
myString.TrimStart("['"").TrimEnd("'"]").Split(new string[] { "'",'"", "'" ,'"" }, StringSplitOptions.None);