我正在尝试使用JSON
反序列化array
Newtonsoft JSON
。但是,使用从服务器收到的string
,我收到以下错误:
Newtonsoft JSON, JsonReaderException: After parsing a value an unexpected character was encountered
如果我在反序列化中对string
进行硬编码,它的工作正常。
这是原始JSON
。从服务器接收的内容与打印到控制台时的硬编码字符串相同。
{"id":15,"username":"patrick"}
反序列化代码
JsonConvert.DeserializeObject<User>(jsonstring);
我怀疑它与编码有关。
我做错了什么?
按要求提供用户类
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 :(得分:2)
那么,你试图反序列化的字符串是什么?我使用了以下代码并没有遇到任何问题:
public static void Main()
{
const string jsonString = "{ \"id\":15, \"username\":\"patrick\" }";
User u = JsonConvert.DeserializeObject<User>(jsonString);
}