如果我有以下普通字符串,如何将其分成三个元素的数组?
{["a","English"],["b","US"],["c","Chinese"]}
["a","English"],["b","US"],["c","Chinese"]
这个问题与JSON字符串解析有关,所以我想知道是否有任何API可以促进转换。
答案 0 :(得分:2)
使用DataContract序列化http://msdn.microsoft.com/en-us/library/bb412179.aspx
答案 1 :(得分:1)
我使用正则表达式编写了一个小控制台示例,这很可能是一种更好的方法。
static void Main(string[] args)
{
string str = "{[\"a\",\"English\"],[\"b\",\"US\"],[\"c\",\"Chinese\"]}";
foreach (System.Text.RegularExpressions.Match m in System.Text.RegularExpressions.Regex.Matches(str, @"((\[.*?\]))"))
{
Console.WriteLine(m.Captures[0]);
}
}
答案 2 :(得分:1)
ASP.NET MVC来with methods,可以轻松地将集合转换为JSON格式。 System.Web.Script.Serialization
中还有JavaScriptSerializer Class。最后,James Newton还有一个很好的第三方图书馆叫Json.NET你可以使用。
答案 3 :(得分:0)
删除花括号,然后使用String.Split,并使用','作为分隔符。
不幸的是,我从来没有做过JSON的东西所以不知道解析库。难道你不能让WCF为你做这件事吗?
答案 4 :(得分:0)
使用String.Split不会对单个标记起作用,因为每个标记中的字符串也包含一个字符串(如果我理解了这些要求,那么数组元素最终应该是:
如果使用string.Split并使用逗号作为分隔符,则数组将由以下组成:
我读过但从未使用过的JSON解析器可以在这里找到: