c#通过引用同一个json文件中的另一个值来获取json对象的值

时间:2021-02-23 11:00:07

标签: c# json

我需要从 JSON 文件中读取一个值,但模式名称将取决于区域设置语言。 JSON 节点为:

"title": {
        "en_GB": "Raj Garden"
    }

但键“en_GB”将取决于所使用的语言区域设置。这是在同一文件中的另一个节点中指定的:

"locale": "en_GB"

我可以读取区域设置值和标题值,但我想用动态值替换硬编码的 title.en_GB。

string locale = Wix.restaurant.locale;
var title = Wix.restaurant.title.en_GB;

我认为我需要类似的东西: 字符串名称 = Wix.restaurant.title..GetType().GetProperty(locale).GetValue(object);

但我不知道如何指定对象。我希望你能帮忙。非常感谢

1 个答案:

答案 0 :(得分:0)

我的问题是由于我对 jsonutils.com 正确返回的类缺乏了解造成的。它作为类返回:

public class Title
{
    public string en_GB { get; set; }
}

我认为字符串 en_GB 会根据使用的语言环境而改变。但是 en_GB 只是字符串的名称,不会依赖于 JSON 文件中使用的语言环境。解决方法是简单地更改字符串名称:

public class Title
{
    public string name { get; set; }
}

JSON 文件已正确反序列化

"title": {
        "en_GB": "Flavour of Asia"
    }

在 Title.name 中返回值“亚洲风味”

小学生错误...感谢@Steve B 和@Charlieface 的回复

相关问题