私はJSON、特に直列化と逆シリアル化を初めて学びました。私はこのようなJSONを持っています。これは最初にシリアル化して変数に入れます。今私はこの変数からデータを取得したい。 newtonsoftでjsonを逆シリアル化する方法
{
"timestamp": "2017-06-20 12:12:10",
"categories":
[
{
"name": "Fiction",
},
{
"name": "Roman",
}
]
,
"types":
[
{
"name": "Long story",
},
{
"name": "Short story",
}
],
"books":
[
{
"title": "Song of ice and fire",
"bookNumber": "1234567",
"aisle":
[
{
"location": "fiction isle",
},
{
"location": "roman aisle",
}
]
}
]
}
は私のvar JSONに保存されている
** UPDATE 1 **
public List<Books> listOfBooks()
{
var bookList = new List<Books>
{
new Books
{
title = "song of ice and fire"
bookNumber = "1234567",
aisle = listOfAisles()
}
};
return bookList;
}
public List<Aisle> listOfAisles
{
var aisleList = new List<Aisle>
{
new Aisle
{
location = "fiction aisle"
}
};
return aisleList;
}
MainProgram registerBooks = new MainProgram();
var obj = new MainProgram
{
Timestamp = "2017-06-20 09:10:55",
Books = listOfBooks(),
listOfAisles = listOfAisles(),
categories = listOfCategories(),
types = listofTypes()
};
var _myJson = new JavaScriptSerializer().Serialize(object);
Books _books = JsonConvert.DeserializeObject<Books>(_myJson);
string _time = _books.Timestamp;
私はデバッグするとき、私は...タイムスタンプを取得し、_timeでそれを入れて、それが正常に動作しますが、ときに私がcategories.nameのような他の項目を取得しようとすると、それらの項目に到達できません。
問題は私がこのJSONの中に多くのリスト項目を持っている可能性があります.1つだけではありません...私は100のカテゴリのようにすることができます。それらのアイテムを元に戻す方法は?
どうすればよいですか?
ありがとうございました!
編集
public class Books
{
public string title {get;set;}
public string bookNumber {get;set;}
public List<aisle> aisles {get;set;}
}
PS - 下/大文字は問題ではありません!英語に翻訳されます
カテゴリ_categories = JsonConvert.DeserializeObject(_myJson); カテゴリがありません。 –
JBO
そしてBooksクラスの宣言は何ですか? – raichiks
編集してください@raichiks – aiden87