[英]Deserializing a JSON file
我有這個來自Unity的json數據。
{
"dataFile": {
"date": "onsdag 9. mai 2018",
"time": "16.32.01",
"points": [
{
"m_Position": {
"x": 89.3330078125,
"y": 41.69880676269531,
"z": 49.13698196411133
}
}
]
}
我見過這種反序列化json數據的方法:
string json = @"{
'Email': 'james@example.com',
'Active': true,
'CreatedDate': '2013-01-20T00:00:00Z',
'Roles': [
'User',
'Admin'
]
}";
Account account = JsonConvert.DeserializeObject<Account>(json);
Console.WriteLine(account.Email);
但是我似乎找不到一種方法可以將我的數據(第一個代碼示例)添加到“ string json ”而不會出錯。 json數據包含以下部分:dataFile,points和m_position,這就是為什么我認為它不起作用的原因。
有人知道我如何反序列化我的json數據嗎?
我嘗試用“”更改“
string json = @"{
'dataFile': {
'date': 'onsdag 9. mai 2018',
'time': '16.32.01',
'points': [
{
'm_Position': {
'x': 89.3330078125,
'y': 41.69880676269531,
'z': 49.13698196411133
}
}
]
}
}";
position pos1 = JsonConvert.DeserializeObject<Position>(json);
Console.WriteLine(pos1.x);
Console.ReadLine();
這是Position類
public class Position
{
public string x { get; set; }
}
將Edit> Paste JSON中的選項用作類插入類jsonPosSample中
class jsonPosSample
{
public Rootobject rootobject;
public Datafile datafile;
public Point point;
public M_Position m_Position;
public class Rootobject
{
public Datafile dataFile { get; set; }
}
public class Datafile
{
public string date { get; set; }
public string time { get; set; }
public Point[] points { get; set; }
}
public class Point
{
public M_Position m_Position { get; set; }
}
public class M_Position
{
public float x { get; set; }
public float y { get; set; }
public float z { get; set; }
}
}
然后我可以用這條線
var jPosData = JsonConvert.DeserializeObject<jsonPosSample>(strJSON);
其中strJSON是要解析的json數據的字符串。
然后我用我的debugOutput方法寫出對象中的第一個值
debugOutput("date test " + jPosData.datafile.date);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.