law*_*man 5 c# json json-deserialization
我是json的新手并试图让一个基本的例子工作.
我的http请求会返回{'username':'1'},{'username':'1'}.
我对于什么是有效的json看起来很困惑,但是如何将它变成一个字符串变量来反序列化.
由于ToJson返回{'username':'1'},我认为正确的做法是用双引号将其转换回来.
我显然错过了一些东西!
class DataItem{
public string username;
}
string json = "{'username': '1'}";
deserialized = JsonUtility.FromJson<DataItem>(json);
Run Code Online (Sandbox Code Playgroud)
错误:ArgumentException:JSON解析错误:缺少对象成员的名称.
通过非常有用的回答,我发现了我所缺少的内容.
// Temp Data Struct
class DataItem{
public string username;
}
//Valid Json look like : {"username": "1"}
//Valid Json must be double quoted again when assigned to string var
// or escaped if you want 'valid' Json to be passed to the FromJson method
//string json = "{\"username\": \"1\"}"; or
string json = @"{""username"": ""1""}";
DataItem deserialized = JsonUtility.FromJson<DataItem>(json);
Debug.Log("Deserialized "+ deserialized.username);
Run Code Online (Sandbox Code Playgroud)
返回'反序列化1'
非常基本的东西,但感谢帮助我理解它!