Json.net удобен для десериализации объекта, но я не знаю, как его использовать для десериализации некоторого простого типа, такого как строка, int.Как десериализовать простой тип с помощью json.net?
Не уверен, что я сделал все правильно, пожалуйста, помогите, спасибо!
возвращение WCF строка выглядит
{"PingResult":100}
Если вызов
int result = JsonConvert.DeserializeObject<int>(jsonString);
Unity бросить
JsonReaderException: Error reading integer. Unexpected token: StartObject. Path '', line 1, position 1.
Newtonsoft.Json.JsonReader.ReadAsInt32Internal()
Newtonsoft.Json.JsonTextReader.ReadAsInt32()
Newtonsoft.Json.Serialization.JsonSerializerInternalReader.ReadForType (Newtonsoft.Json.JsonReader reader, Newtonsoft.Json.Serialization.JsonContract contract, Boolean hasConverter)
Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize (Newtonsoft.Json.JsonReader reader, System.Type objectType, Boolean checkAdditionalContent)
К сожалению, Я думал, что это может справиться с этим, поскольку создание нового класса для каждой из них не является удивительной идеей, особенно если у нас есть много методов для вызова: p Тем не менее, очень удобно вызывать JObject API для этого. Спасибо, чувак:] Коды здесь, если кому-то это нужно. 'string json =" {\ "PingResult \": 100} "; \t \t JObject jo = JObject.Parse (json); \t \t JToken result = jo ["PingResult"]; ' – zhuchun
Я рад, что помог, добавил ваш пример к моему ответу, чтобы он был более полным. – elolos