私は例外的に私はオンラインに関する多くの情報を見つけることができないように走っています。JSON予期しない終了
予期しない終了。行番号、位置######
いくつかの詳細は、Windows Mobile 6.5.3、Mobile .NET CE Frameworkで実行されています。私はWebサービスコールから応答を解析しています。私は応答が適切なJSONフォーマットであることを確認しましたが、私はその応答が非常に大きいことを知っています。
私が理解できないことは、私がこの腹を立てる理由です。ここに私の解析コードは、この上でいくつかの光を当てることができます誰でも
List<T> objList = new List<T>();
using (StreamReader sr = new StreamReader(responseStream))
{
using (JsonTextReader jr = new JsonTextReader(sr))
{
JsonSerializer ser = new JsonSerializer();
JObject jo = ser.Deserialize(jr) as JObject; //<---- This line throws the exception
if (jo != null)
{
List<JToken> jResults = jo[name + "Result"].Children().ToList();
foreach (JToken jObjResult in jResults)
{
T obj = JsonConvert.DeserializeObject<T>(jObjResult.ToString());
objList.Add(obj);
}
}
}
}
return objList;
(はい、私たちは常に複雑なオブジェクトのリストを取得する)ですが、行ってください。ありがとう。
UPDATE:正確な例外テキストを追加
Message: "Unexpected end. Line 1, position 1594143."
StackTrace:
at Newtonsoft.Json.JsonTextReader.ParseValue(Char currentChar)
at Newtonsoft.Json.JsonTextReader.ReadInternal()
at Newtonsoft.Json.JsonTextReader.Read()
at Newtonsoft.Json.JsonWriter.WriteToken(JsonReader reader, Int32 initialDepth)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateJObject(JsonReader reader)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueNonProperty(JsonReader reader, Type objectType, JsonContract contract)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType)
at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
at Newtonsoft.Json.JsonSerializer.Deserialize(JsonReader reader, Type objectType)
at Newtonsoft.Json.JsonSerializer.Deserialize(JsonReader reader)
at MY CODE HIDDEN HERE
注:正確な位置時々変化しますが、常に65536
JSONのサイズはどれくらいですか?それでも解析できない最小のスニペットを投稿できますか? – mason
JSONのどの時点で、#と#####の位置にありますか?たとえば、65535文字のような素晴らしい境界になる可能性はありますか?本当にもっと情報が必要です。 – DavidG
逆シリアル化や 'JObject'へのキャストに問題がありますか? –