Asked by:
I need help to load json through a Switch files by Uri

Question
-
A way to load the JSON files according to language can be that within each of the "cases" to create the Uri where the specific language file and passes it directly to the method GetSampleDataAsync() as a parameter.
switch (CultureInfo.CurrentCulture.Name) { case "es-ES": Uri data = (new Uri("///Marinas.Shared/es-ES/DataSample.json").; break; case "en-GB": Uri data = new Uri("///Marinas.Shared/en-GB/DataSample.json"); break; default: Uri data = new Uri("///Marinas.Shared/en-GB/DataSample.json"); break; }
as it could convert the variable local data to globalWednesday, March 11, 2015 10:21 AM
All replies
-
I don't really know what you're talking about, but you should declare a static Uri variable called "data" in App.Xaml.cs and assign to it:
App.data = new Uri("///Marinas.Shared/en-GB/DataSample.json");Then it will be global.
Matt Small - Microsoft Escalation Engineer - Forum Moderator
If my reply answers your question, please mark this post as answered.
NOTE: If I ask for code, please provide something that I can drop directly into a project and run (including XAML), or an actual application project. I'm trying to help a lot of people, so I don't have time to figure out weird snippets with undefined objects and unknown namespaces.Wednesday, March 11, 2015 7:41 PMModerator -
I want to is to load multiple files json in different languagesWednesday, March 11, 2015 7:55 PM
-
private async Task GetSampleDataAsync() { if (this._groups.Count != 0) return; Uri data = new Uri("ms-appx:///DataModel/es-ES/DataSample.json"); Uri data = new Uri("ms-appx:///DataModel/en-GB/DataSample.json"); StorageFile file = await StorageFile.GetFileFromApplicationUriAsync(data); string jsonText = await FileIO.ReadTextAsync(file); JsonObject jsonObject = JsonObject.Parse(jsonText); JsonArray jsonArray = jsonObject["Groups"].GetArray(); foreach (JsonValue groupValue in jsonArray) { JsonObject groupObject = groupValue.GetObject(); SampleDataGroup group = new SampleDataGroup(groupObject["UniqueId"].GetString(), groupObject["Title"].GetString(), groupObject["Subtitle"].GetString(), groupObject["ImagePath"].GetString(), groupObject["Description"].GetString()); foreach (JsonValue itemValue in groupObject["Items"].GetArray()) { JsonObject itemObject = itemValue.GetObject(); group.Items.Add(new SampleDataItem(itemObject["UniqueId"].GetString(), itemObject["Title"].GetString(), itemObject["Subtitle"].GetString(), itemObject["ImagePath"].GetString(), itemObject["Description"].GetString(), itemObject["Content"].GetString(), itemObject["Latitude"].GetString(), itemObject["Longitude"].GetString(), itemObject["Alatitude"].GetString(), itemObject["Blongitude"].GetString(), itemObject["Lenght"].GetString(), itemObject["Elenght"].GetString(), itemObject["Draught"].GetString(), itemObject["Ndraught"].GetString(), itemObject["Services"].GetString(), itemObject["NauticalChart"].GetString(), itemObject["Fchart"].GetString(), itemObject["Radio"].GetString(), itemObject["Dradio"].GetString(), itemObject["Function"].GetString(), itemObject["Hfunction"].GetString(), itemObject["Email"].GetString(), itemObject["Addressemail"].GetString())); } this.Groups.Add(group); } } }
in sampledatasource.cs in universal app as I think a global variable having a local variable.
Uri data=new Uri("ms-appx:///DataModel/es-Es/DataSample.json");
having several Uri with data that would be local variable as you could turn this global variableThursday, March 12, 2015 8:12 PM -
private async Task GetSampleDataAsync() { if (this._groups.Count != 0) return; Uri data = new Uri("ms-appx:///DataModel/es-ES/DataSample.json"); Uri data = new Uri("ms-appx:///DataModel/en-GB/DataSample.json"); StorageFile file = await StorageFile.GetFileFromApplicationUriAsync(data); string jsonText = await FileIO.ReadTextAsync(file); JsonObject jsonObject = JsonObject.Parse(jsonText); JsonArray jsonArray = jsonObject["Groups"].GetArray(); foreach (JsonValue groupValue in jsonArray) { JsonObject groupObject = groupValue.GetObject(); SampleDataGroup group = new SampleDataGroup(groupObject["UniqueId"].GetString(), groupObject["Title"].GetString(), groupObject["Subtitle"].GetString(), groupObject["ImagePath"].GetString(), groupObject["Description"].GetString()); foreach (JsonValue itemValue in groupObject["Items"].GetArray()) { JsonObject itemObject = itemValue.GetObject(); group.Items.Add(new SampleDataItem(itemObject["UniqueId"].GetString(), itemObject["Title"].GetString(), itemObject["Subtitle"].GetString(), itemObject["ImagePath"].GetString(), itemObject["Description"].GetString(), itemObject["Content"].GetString(), itemObject["Latitude"].GetString(), itemObject["Longitude"].GetString(), itemObject["Alatitude"].GetString(), itemObject["Blongitude"].GetString(), itemObject["Lenght"].GetString(), itemObject["Elenght"].GetString(), itemObject["Draught"].GetString(), itemObject["Ndraught"].GetString(), itemObject["Services"].GetString(), itemObject["NauticalChart"].GetString(), itemObject["Fchart"].GetString(), itemObject["Radio"].GetString(), itemObject["Dradio"].GetString(), itemObject["Function"].GetString(), itemObject["Hfunction"].GetString(), itemObject["Email"].GetString(), itemObject["Addressemail"].GetString())); } this.Groups.Add(group); } } }
in sampledatasource.cs in universal app as I think a global variable having a local variable.
Uri data=new Uri("ms-appx:///DataModel/es-Es/DataSample.json");
having several Uri with data that would be local variable as you could turn this global variableBest Regards,
Please remember to mark the replies as answers if they helpFriday, March 13, 2015 9:34 AM -
The problem of the application is to have it in various languages but having a dynamic universal App as it could with the json filesFriday, March 13, 2015 10:02 AM