如何从格式化为JSON字符串的字符串中获取值
本文关键字:字符串 获取 JSON 格式化 | 更新日期: 2023-09-27 18:21:39
我有一个字符串,格式如下:
[["addr","field"],["Administrator@cadomain.com",1000],["test1@cadomain.com",1001],["test2@cadomain.com",1002],["67656x3434",100],["99999",511],["79898",400],["545654",561],["7979",200],["6776767",201],["4656",300],["88888",5000]]
我想得到基于字段(键)的地址(值)。我在上读到一些关于如何从JSON字符串中获取值的文章
读取JSON字符串作为键值
如何使用c#读取这个json字符串?
但这对我不起作用。
有什么想法吗,伙计们?
如果您使用Json.Net库来解析Json,您可以将数据放入Dictionary<int, string>
中,如下所示:
JToken token = JToken.Parse(json);
Dictionary<int, string> dict =
token.Skip(1).ToDictionary(a => (int)a[1], a => (string)a[0]);
然后,您可以像往常一样使用字典来访问数据。
演示:https://dotnetfiddle.net/Icyv1O
如果你只能使用.Net 2.0,你也可以这样做:
JToken token = JToken.Parse(json);
Dictionary<int, string> dict = new Dictionary<int, string>();
bool skippedFirstItem = false;
foreach (JToken item in token)
{
if (skippedFirstItem)
dict.Add((int)item[1], (string)item[0]);
else
skippedFirstItem = true;
}
演示:https://dotnetfiddle.net/zDvQFF