【发布时间】:2019-07-05 08:49:43
【问题描述】:
我从日志服务获得以下字符串:
[("Browser": "Chrome73 (v 73.0)"), ("UserAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36"), ("Languages": ["nb-NO", "nb;q=0.9", "no;q=0.8", "nn;q=0.7", "en-US;q=0.6", "en;q=0.5"]), ("UserClaim-1-http://schemas.microsoft.com/ws/2008/06/identity/claims/role": "Admin"), ("SessionId": "hhaztuwfpyuobfslljuy4z4e"), ("Cookie-__RequestVerificationToken": "9MJm_A4agsgbe4c_JtAePFnfMLBEgnkc0XhROfDFVd6291SUGtLPAqprsGHBcJw9JDRde6UR_1jHY_Hr4oKi4OZzuUDXqAA6IfeEtr9sxVI1"), ("Cookie-.ASPXAUTH": "AA23B2B1A5C428BFB60E32EA5A78A7D5016D7586F88548C012A1C2C2EB2A34D40A959B43680BCCE9923F1890017F59A3A82E6C1121AF50CF226D638FBCBC40F2D8E2FE4C945B44CC7572717D56C71FCC0B7B285A0EB5379370ADC6BE970E6438"), ("Cookie-ASP.NET_SessionId": "hhaztuwfpyuobfslljuy4z4e"), ("Info-FamilyId": 21267), ("Info-LoggedInUserID": 1), ("Info-MainConsultantUserId": 3)]
我想把它变成一本字典。我认为我应该是一个简单的任务,但我一直在尝试以各种方式解析字符串但没有成功。谁能指出我正确的方向?
我一直在尝试使用:
var x = JsonConvert.DeserializeObject(the_string_above);
我得到了例外: 解析值时遇到意外字符。 (.Path '',第 1 行,位置 1)
如 cmets 中所指出的,格式不是有效的 JSON,所以问题是我如何解析文本...
【问题讨论】:
-
不要自己解析 JSON,使用 JSON 解析器,例如牛顿软件。
-
字典数组是什么意思?这看起来像一个键值元组数组,所以一个字典?
-
您应该使用合适的反序列化器对其进行反序列化,而不是依靠经过测试和批准的功能自行完成。 stackoverflow.com/questions/7895105/…
-
我认为我应该是一个简单的任务,但我一直在尝试以各种方式解析字符串但没有成功向我们展示你到目前为止得到的结果。
-
@Liknes 我已经为此尝试了正则表达式解决方案。请查看工作演示并让我知道它是否足够:dotnetfiddle.net/u1YbBK
标签: c# json dictionary