2014-04-08 52 views
1

我試圖反序列化JSONarray使用Newtonsoft JSON。然而,使用從服務器接收的string,我收到以下錯誤:json.net,JsonReaderException:在解析值後遇到意外的字符

Newtonsoft JSON, JsonReaderException: After parsing a value an unexpected character was encountered 

如果我硬編碼在反序列化string,它工作得很好。

這裏是原始JSON。從打印到控制檯時從服務器收到的內容與硬編碼字符串相同。

{"id":15,"username":"patrick"} 

和代碼反序列化它

JsonConvert.DeserializeObject<User>(jsonstring); 

我懷疑它是與編碼。

我在做什麼錯?通過要求


User類

using UnityEngine; 
using System.Collections; 
using Newtonsoft.Json; 
[JsonObject(MemberSerialization.OptOut)] 
public class User{ 


     [JsonProperty] 
     private int id; 
     [JsonProperty] 
     private string username; 

     public User (int setId, string setName){ 
       id = setId; 
       username = setName; 
     } 


     public string GetUsername(){ 
       return username; 
     } 

} 
+0

你可以添加'User'類嗎? – Smeegs

+0

我可以,但如前所述,使用硬編碼的'JSON'時,它執行得很好。 –

+0

我知道,這只是一個完整的圖片。 – Smeegs

回答

2

嗯,你試圖反序列化什麼字符串?我用下面的代碼,並沒有得到任何問題:

public static void Main() 
{ 
     const string jsonString = "{ \"id\":15, \"username\":\"patrick\" }"; 
     User u = JsonConvert.DeserializeObject<User>(jsonString); 
} 
相關問題