我有一个格式如下的字符串:
[["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]]
我想在字段(键)上获得addre(value)。 我读了一些关于如何从JSON字符串获取值的文章:
How to read this json string using c#?
但它对我不起作用。
任何想法,伙计们?
答案 0 :(得分:1)
如果您使用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;
}