繁体   English   中英

如何在 gridview 中打印 Json 值?

[英]How can I print Json values in a gridview?

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

string link = @"http://alexander.*************/test.php";
string json = new WebClient().DownloadString(link);
JObject jObject = JObject.Parse(json);

我想从 gridview 中的“名称”中打印两个值,但是如何打印? 名称必须放在此项目列表中:

myItems = (array?);
string test2 = test1.ToString(Formatting.Indented);
ArrayAdapter<string> adapter = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleListItem1, myItems);
GridviewCoins.Adapter = adapter;

最后 json 字符串是:

{
    "Coins": [[{
        "Name": "007",
        "Id": "5294",
    }], [{
        "Name": "1337",
        "Id": "20824",
    }

这里有几个问题,首先是您的 Coins 属性是一个数组数组,并且您的 jsonObject 不完整,它应该如下所示:

"{ "Coins": [[{ "Name": "007", "Id": "5294", } ], [{ "Name": "1337", "Id": "20824", }]]} ";

也就是说,如果这是一个复制粘贴错误,我会做一些类似的事情:

 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; }
}

当你拥有 ac# 对象并且你可以用它做任何你想做的事情时。

编辑:您可以通过点击此处添加到 gridview

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM