如何将字符串分成数组

时间:2010-02-26 08:22:46

标签: c# json

如果我有以下普通字符串,如何将其分成三个元素的数组?

{["a","English"],["b","US"],["c","Chinese"]}

["a","English"],["b","US"],["c","Chinese"]

这个问题与JSON字符串解析有关,所以我想知道是否有任何API可以促进转换。

5 个答案:

答案 0 :(得分:2)

答案 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不会对单个标记起作用,因为每个标记中的字符串也包含一个字符串(如果我理解了这些要求,那么数组元素最终应该是:

  1. [ “一”, “英语”]
  2. [ “B”, “US”]
  3. [ “C”, “中国”]
  4. 如果使用string.Split并使用逗号作为分隔符,则数组将由以下组成:

    1. [ “一个”
    2. “英语”]
    3. [ “b” 的
    4. “US”]
    5. [ “c” 的
    6. “中国”]
    7. 我读过但从未使用过的JSON解析器可以在这里找到:

      http://james.newtonking.com/pages/json-net.aspx