我需要从 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);
但我不知道如何指定对象。我希望你能帮忙。非常感谢
答案 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 的回复