切换json数据文件
Switch json data file
我想根据所选语言切换包含我的应用程序数据的 json 文件。
基本上这意味着在更改语言时更改数据 uri 以指向新的 uri:
Uri dataUri = new Uri("ms-appx:///DataModel/SampleData.json");
我为此使用以下开关:
System.Globalization.CultureInfo ci = System.Globalization.CultureInfo.CurrentUICulture;
string locale = ci.ToString();
switch (locale)
{
case "fr":
{
Uri dataUri = new Uri("ms-appx:///DataModel/SampleDataFrench.json");
break;
}
case "en":
{
Uri dataUri = new Uri("ms-appx:///DataModel/SampleDataEnglish.json");
}
}
我收到错误消息:“名称‘dataUri’在当前上下文中不存在。我做错了什么以及如何解决这个问题?
嘿,这只是一个辅助功能错误。您在本地为个案定义了 dataUri。你应该这样做。
希望这有帮助。谢谢
Uri dataUri = null;
switch (locale)
{
case "fr":
{
dataUri = new Uri("ms-appx:///DataModel/SampleDataFrench.json");
break;
}
case "en-US":
{
dataUri = new Uri("ms-appx:///DataModel/SampleDataEnglish.json");
break;
}
}
//You can access it now --- dataUri
我觉得Sunil Kumar S C是对的,你定义的dataUri只在case里面起作用。
关于您的代码的另一个建议是,您最好不要使用 switch case 来执行此操作,因为当您需要支持一种新文化时,您需要更改代码。
可以直接在文件名后面追加文化,如果没有特定的文化文件,则使用默认文化。所以当你想支持更多的文化时,只需要添加一个新文件,而不需要更改代码。
System.Globalization.CultureInfo ci = System.Globalization.CultureInfo.CurrentUICulture;
string locale = ci.ToString();
Uri dataUri = new Uri(string.Format("ms-appx:///DataModel/SampleData.{0}.json", ci.ToString()));
Uri变量dataUri = null;此变量在发布区public封存classItemPage:Page
反序列化 json 内容
我想根据所选语言切换包含我的应用程序数据的 json 文件。
基本上这意味着在更改语言时更改数据 uri 以指向新的 uri:
Uri dataUri = new Uri("ms-appx:///DataModel/SampleData.json");
我为此使用以下开关:
System.Globalization.CultureInfo ci = System.Globalization.CultureInfo.CurrentUICulture;
string locale = ci.ToString();
switch (locale)
{
case "fr":
{
Uri dataUri = new Uri("ms-appx:///DataModel/SampleDataFrench.json");
break;
}
case "en":
{
Uri dataUri = new Uri("ms-appx:///DataModel/SampleDataEnglish.json");
}
}
我收到错误消息:“名称‘dataUri’在当前上下文中不存在。我做错了什么以及如何解决这个问题?
嘿,这只是一个辅助功能错误。您在本地为个案定义了 dataUri。你应该这样做。 希望这有帮助。谢谢
Uri dataUri = null;
switch (locale)
{
case "fr":
{
dataUri = new Uri("ms-appx:///DataModel/SampleDataFrench.json");
break;
}
case "en-US":
{
dataUri = new Uri("ms-appx:///DataModel/SampleDataEnglish.json");
break;
}
}
//You can access it now --- dataUri
我觉得Sunil Kumar S C是对的,你定义的dataUri只在case里面起作用。
关于您的代码的另一个建议是,您最好不要使用 switch case 来执行此操作,因为当您需要支持一种新文化时,您需要更改代码。
可以直接在文件名后面追加文化,如果没有特定的文化文件,则使用默认文化。所以当你想支持更多的文化时,只需要添加一个新文件,而不需要更改代码。
System.Globalization.CultureInfo ci = System.Globalization.CultureInfo.CurrentUICulture;
string locale = ci.ToString();
Uri dataUri = new Uri(string.Format("ms-appx:///DataModel/SampleData.{0}.json", ci.ToString()));
Uri变量dataUri = null;此变量在发布区public封存classItemPage:Page
反序列化 json 内容