序列化为json时.resx属性的默认回退

时间:2018-06-28 12:23:59

标签: c# .net json resx

使用.resx资源文件时,每个文件通常有几种语言。
例如:
Settings.resxSettings.he.resxSettings.fr.resx等...

.net框架将根据当前的文化使用相关文件。
如果Settings.he.resx中缺少属性,它将在默认的Settings.resx中进行搜索。

这样,我们有了一个“基础”资源文件,并且可以覆盖不同区域性中的特定属性。

我的问题是我正在将此文件序列化为json(用于ajax响应),但是我失去了回退到缺少属性时默认文件的功能。

序列化对象时是否可以保留此行为?
我宁愿保持序列化简单,而不要遍历所有键。

这是我的序列化代码:

protected JObject GetResourcesAsJsObject(ResourceManager resourceManager)
{
    var resourceAsDictionary = GetResources(resourceManager);
    var resourceAsJsonString = JsonConvert.SerializeObject(resourceAsDictionary);
    var resourceAsJsObject = JObject.Parse(resourceAsJsonString);

    return resourceAsJsObject;
}

并以此方式使用(其中SettingsSettings.resx的引用):

var jsResources = GetResourcesAsJsObject(Settings.ResourceManager);

0 个答案:

没有答案