Я создал прототип данных JSON из веб-службы в консольном приложении Visual Studio 2017 С#, десериализуя данные JSON в три строки. Затем я переместил код в универсальное приложение Windows 10.
Код десериализации не будет компилироваться в программе UWP, потому что тип JavaScriptSerializer недоступен. Я не могу добавить System.Web.Extensions в систему (References/Assemblies/Framework), получив это сообщение от VS 2017, "Нет сборок сборки на компьютере", когда мое решение Windows 10 открыто.
Вот строка JSON:
{
"Snippet":"\"Special counsel ...\"",
"SnippetDate":"9/9/2017 12:00:00 AM",
"SnippetSource":"The Washington Post"
}
Вот фрагменты кода, которые компилируются и запускаются в консольном проекте, но не в проекте Windows 10.
using System.Web.Script.Serialization;
.
.
.
public class NewsSnippet
{
public string Snippet { get; set; }
public string SnippetDate { get; set; }
public string SnippetSource { get; set; }
}
.
.
.
var serializer = new JavaScriptSerializer();
var deserializedResult = serializer.Deserialize<NewsSnippet>(jsonString);
Какие альтернативы существуют для десериализации строки JSON в приложении Universal Windows?
Вы должны иметь возможность добавлять Newtonsoft Json.net через Nuget
var deserializedResult = JsonConvert.DeserializeObject<NewsSnippet>(jsonString);
var source = deserializedResult.SnippetSource;
JsonConvert.DeserializeObject<NewsSnippet>(jsonString);
newtonsoft.com/json