如何从C#中的JSON对象获取值?如果未定义密钥

问题描述

下面是我的JSON信息,您可以在其中发现未定义任何键。

{"KOA": {"test.jpg": "xyz.com/images/test.jpg"}}

我正在查看输出,如:

string _imgName=  ms-koa-acazia-ceramic.jpg
string _imgurl= xyz.com/images/test.jpg

“ KOA”也是一个动态值,可以更改,因此我无法修复。

解决方法

您可以使用的一种方法是使用字典反序列化JSON对象

        const string jsonString = "{\"KOA\": { \"test.jpg\": \"xyz.com / images / test.jpg\"}}";
        var jsonObject = JsonConvert.DeserializeObject<IDictionary<string,IDictionary<string,string>>>(jsonString);

        string firstKey = jsonObject.Keys.First();

        string _imgName = jsonObject[firstKey].Keys.First();
        string _imgUrl = jsonObject[firstKey].Values.First();