2014-09-20 19 views
0

我一直关注此文章http://www.dotnetcurry.com/showarticle.aspx?ID=1029并尝试从REST api中提取json,以便在某人点击按钮后显示一个列表,我的json外观像从REST api调用GET方法后无法获得json return的布局输出

[{"id":"1","name":"test","address":"test","country":"usa"},{"id":"2","name":"test1","address":"test1","country":"uk"}] 

这是我的代码HackerNewsRepository.cs

App.cs

using System.Collections.Generic; 
using System.Net.Http; 
using System.Threading.Tasks; 
using Newtonsoft.Json; 

namespace Shared 
{ 

    public class HackerNewsRepository 
    { 
     public async Task<IEnumerable<Entry>> TopEntriesAsync() 
     { 
      var client = new HttpClient(); 

      var result = await client.GetStringAsync("http://www.example.com/api/v1/info"); 

      return JsonConvert.DeserializeObject<Entry>(result); 
     } 
    } 

    public class Entry 
    { 
     public int Id { get; set; } 
     public string Names { get; set; } 
     public string Address { get; set; } 
     public string Country { get; set; } 


    } 

} 

类文件的 类文件

这是主要的活动类文件

using Xamarin.Forms.Platform.Android; 
... 
namespace DNC.NewsReader.Droid 
{ 
    [Activity(Label = "DNC.NewsReader", MainLauncher = true)] 
    public class MainActivity : AndroidActivity 
    { 
     protected override void OnCreate(Bundle bundle) 
     { 
      base.OnCreate(bundle); 

Xamarin.Forms.Forms.Init(this, bundle); 

SetPage(App.GetMainPage()); 
     } 
    } 
} 

的问题是有没有deserializeObject组成部分,也是我申请在网络给出不同的逻辑例如但不能,请大家帮我给从给定的JSON在Android的输出格式。谢谢!

回答

0

你应该:

return JsonConvert.DeserializeObject<IEnumerable<Entry>>(result); 

如果需要的话,可以尝试Entry类属性使用小的情况下,因此同样会用JSON字符串。

+0

谢谢@andrefadila,我得到的输出,但不完全是想要它不显示'名称'和'国家',只给出'ID'和'地址'的输出。我试图列出所有内容并列出来,你能告诉我那里有什么不对吗? – user3909370 2014-09-21 09:09:00

+0

你正在使用你的类中的“Name”和json中的“names”。 – Jason 2014-09-21 13:44:29