如何在网格视图中打印Json值?

时间:2018-01-10 12:39:18

标签: c# json parsing xamarin gridview

我正在尝试使用Visual Studio 2017使用C#在gridview中打印Json字符串中的值。问题是我无法将单个单词的特定值获取。 这是我的代码:

string link = @" http://alexander。************* / test.php&#34 ;;

string json = new WebClient()。DownloadString(link);

JObject jObject = JObject.Parse(json);

我想从" Name"中打印两个值。在gridview中,但如何? 名称必须放在此项目列表中:

myItems =(array?);

string test2 = test1.ToString(Formatting.Indented);

ArrayAdapter adapter = new ArrayAdapter(this,Android.Resource.Layout.SimpleListItem1,myItems);

GridviewCoins.Adapter = adapter;

最后json字符串是:

{     "硬币":[[{                 "姓名":" 007",                 " Id":" 5294",             }         ],[{                 "姓名":" 1337",                 " Id":" 20824",             }

1 个答案:

答案 0 :(得分:0)

这里有一些问题,首先是你的Coins属性是一个数组数组,并且你的jsonObject不完整它应该是这样的:

" {" Coins":[[{"姓名":" 007"," Id":&#34 ; 5294",}],[{"姓名":" 1337"," Id":" 20824",}]] }&#34 ;;

那说如果这是一个复制粘贴错误,我会做一些事情:

 public IEnumerable<Coin> GetCoins(string json)
 {
        var jObject = JObject.Parse(json);
        var coinPropery = jObject["Coins"] as JArray;

        var coins = new List<Coin>();

        foreach (var property in coinPropery)
        {
            var propertyList = JsonConvert.DeserializeObject<List<Coin>>(property.ToString());
            coins.AddRange(propertyList);
        }

        return coins;
 }

和硬币对象:

public class Coin
{
    public int Id { get; set; }

    public string Name { get; set; }
}

然后你有了一个c#对象,你可以随心所欲地做它。

修改 您可以按照Click here

添加到gridview