【问题标题】:Transferring data from a JSON file to a list item c #将数据从 JSON 文件传输到列表项 c#
【发布时间】:2016-09-10 07:28:22
【问题描述】:

我想将 JSON 数据放在一个列表中以向用户显示记录。但是当我运行系统时,列表只显示了两次项目名称,而不是 JSON 数据。

HttpClient client = new HttpClient();
        client.BaseAddress = new Uri("Http://www.eletrotechautomacoes.com.br");
        string url = string.Format("/pontos/consulta.php");
        var response = await client.GetAsync(url);
        var result = response.Content.ReadAsStringAsync().Result;
        List<ExchangeRates> listaProdutos = JsonConvert.DeserializeObject<List<ExchangeRates>>(result);

        this.LlistSpecials.ItemsSource = listaProdutos;

系统在列表中显示的是项目名称出现了两次。

文件 JSON:

[{"id":"1","nome":"pendrive","preco":"20.00","tipo":"eletronico"},{"id":"2","nome":"Monitor","preco":"250.00","tipo":"eletronicos"}]

对象:

 public class ExchangeRates 
{

    [JsonProperty("id")]
    public string Id { get; set; }

    [JsonProperty("nome")]
    public string Nome { get; set; }

    [JsonProperty("preco")]
    public string Preco { get; set; }

    [JsonProperty("tipo")]
    public string Tipo { get; set; }


}

感谢大家的帮助。但即使应用修正继续不funcinando。我认为问题在于那部分:this.LlistSpecials.ItemsSource = listaProdutos;我的困难是显示列表中的内容。我需要对要显示的列表进行一些转换吗?他们知道显示这个列表的程序吗?它目前正在返回项目名称两次。我认为这与 JSON 项目的数量有关,这也是两个。

【问题讨论】:

  • @AnuradhS 为什么以及如何帮助? HttpClient 不是 WebClient 的继承者,并且是在新开发中使用的首选类吗?
  • 为什么你的财产idList&lt;string&gt;?由于你的json,它可能是string,然后可以脱盐。
  • 如果您将id 定义为List&lt;string&gt;,那么JSON 应该是"id":["1"] 等等。

标签: c# json list rest


【解决方案1】:

如下所示更改ExchangeRates 类,因为Id 将是string 而不是list&lt;string&gt;

public class ExchangeRates
{
    public string id { get; set; }
    public string nome { get; set; }
    public string preco { get; set; }
    public string tipo { get; set; }
}

【讨论】:

  • 感谢大家的帮助。但即使应用修正继续不funcinando。我认为问题出在这部分:this.LlistSpecials.ItemsSource = listaProdutos;我的困难是显示列表中的内容。我需要对要显示的列表进行一些转换吗?他们知道显示这个列表的程序吗?它目前正在返回项目名称两次。我认为这与 JSON 项目的数量有关,这也是两个。
【解决方案2】:

如果你不知道你的模型应该怎么看,你可以使用这个online generator

您的模型如下所示:

public class ExchangeRates
    {
        public string id { get; set; }
        public string nome { get; set; }
        public string preco { get; set; }
        public string tipo { get; set; }
    }

更新您的模型,它应该可以工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-21
    • 2017-05-08
    • 2021-05-08
    • 2019-08-06
    相关资源
    最近更新 更多