我尝试将文本剪切并放入字典中,问题是我的文字没有清晰的结构: 文字:
{
"about": "where I'm meant to be...",
"bio": "Visit my official blog at:\n\nhttp://ABC.com/ \n\nAdd me on Twitter:\n\nhttp://www.ABC.com/ABC",
"category": "Public figure",
"is_published": true,
"location": {
"street": "",
"city": "Los Angeles",
"state": "CA",
"country": "United States",
"zip": ""
},
"talking_about_count": 254637,
"username": "ABC",
"website": "http://kimkardashian.celebuzz.com/\nhttp://www.twitter.com/kimkardashian\n",
"were_here_count": 0,
"id": "114696805612",
"name": "ABC",
"link": "http://www.ABC.com/ABC",
"likes": 0,
"cover": {
"cover_id": "000000000",
"source": "http://ABC.jpg",
"offset_y": 0,
"offset_x": 200
}
}
如你所见,我有","作为分隔符,问题是有一些组合对象,如:
"location": {
"street": "",
"city": "Los Angeles",
"state": "CA",
"country": "United States",
"zip": ""
},
这就是我无法使用string.Split(' ');
的原因
我听说过正则表达式,但我不知道如何使用它们
是否有任何解决方案可以将这些信息分成字典或任何其他结构
答案 0 :(得分:1)
您的数据采用标准格式(JSON),并且已经为其编写了解析器。您可以在Visual Studio中通过NuGet轻松下载Json.NET。
正则表达式是一种功能强大的工具,可以使模式匹配更加简单。就我而言,就他而言。他们可以用于创建解析器和各种其他东西,但它很复杂。
所以你可以使用正则表达式创建自己的JSON解析器,但它需要花费很多时间。当有钥匙可用时,就像建立一个锁具一样。
答案 1 :(得分:0)
JavaScriptSerializer可满足您的需求
using System.Web.Script.Serialization;
var jss = new JavaScriptSerializer();
var dict = jss.Deserialize<Dictionary<string,string>>(jsonText);
Console.WriteLine(dict["some_number"]);
请参阅:http://msdn.microsoft.com/en-us/library/system.web.script.serialization.javascriptserializer.aspx