【发布时间】:2016-08-03 20:34:05
【问题描述】:
我需要属性对象的属性名称:
这是我的代码:
JSON 示例:
{
"dados": [{"codigo_localidade":"1",
"localidade":"Adamantina",
"nome_localidade_pai":"Regi\u00e3o de Governo de Adamantina",
"codigo_variavel":"2",
"variavel":"Cr\u00e9dito Rural Agricultura",
"unidade":"(Em reais de 2015)",
"periodo":"1985\/1989-2011",
"ano":{"2010":"194.140.750"}
}
我的 C# 代码来解析我的 JSON:
var resultObjects = AllChildren(JObject.Parse(cidadesSON))
.First(c => c.Type == JTokenType.Array && c.Path.Contains("dados"))
.Children<JObject>();
List<Cidade> cidades = new List<Cidade>();
Cidade item;
//fetch my array
foreach (JObject result in resultObjects)
{
item = new Cidade();
item.localidade =(string)result["localidade"];
item.nome_localidad_pai = (string)result["nome_localidade_pai"];
item.populacao = (string)result["ano"]["2010"];
//my problem
item.ano = ((JObject)result.["ano"]).Property("2010").Name;
cidades.Add(item);
}
grvCandidatos.DataSource = cidades;
grvCandidatos.CssClass = "table table-hover ";
grvCandidatos.DataBind();
这是获取对象的方法
private static IEnumerable<JToken> AllChildren(JToken json)
{
foreach (var c in json.Children())
{
yield return c;
foreach (var cc in AllChildren(c))
{
yield return cc;
}
}
}
如有必要,这是我的模型类:
public class Cidade
{
public string localidade { get; set; }
public string populacao { get; set; }
public string nome_localidad_pai { get; set; }
public string ano { get; set; }
}
如果有人可以提供帮助,我将非常感激。
(对不起我的英语。)
【问题讨论】:
-
你发布的Json无效jsonlint.com
-
cidadesSON的类型是什么?
-
不清楚你想要什么。您可以在 pt.stackoverflow.com 发布您的问题,这是 StackOverflow 的葡萄牙语版本。 (我知道这一点是因为我会说葡萄牙语并且我看到了你的变量 :) 或者尝试更好地解释。
-
cidadesSON 是一个字符串变量 .... JSON 是正确的,因为我可以访问其他属性...我只是忘记关闭 'dados' 数组的 ']' 字符..跨度>
-
在英语中找到答案要好得多......