これは、辞書に使用しているJSONファイルです。
{
"Reports": {
"Title of sheet": {
"id": "1",
"active": "0",
"title": "Title of sheet",
"date": "October 22, 2012",
"description": "description",
"ext": "DOCX",
"fortest": "Tuesday, October 23",
"subject": "Budget",
"author": "xxxxxxxxxx",
"email": "xxxxx@gmail.com"
}
}
}
これは、これを辞書に変換するために使用しているコードです(リクエストを実行した後)
self.tableDataSource = [NSMutableArray array];
for (NSString *key in object.allKeys) // object is your root NSDictionary
{
NSDictionary *subDict = [object valueForKey:key];
//create a new dictionary with two values - one for the key and one for the value.
NSMutableDictionary *newDict = [NSMutableDictionary dictionary];
[newDict setValue:subDict forKey:@"value"];
[newDict setValue:key forKey:@"key"];
[self.tableDataSource addObject:newDict];
}
これにより、次の出力が生成されます。
(
{
key = Reports;
value = {
"Sheet Title" = {
active = 0;
author = "xxx xxxxxx";
date = "October 22, 2012";
description = "Description";
dl = "9 downloads";
email = "xxxxxxx@gmail.com";
ext = DOCX;
fortest= "Tuesday, October 23";
id = 1;
subject = Budget;
title = "Sheet title";
};
};
}
)
これが私の質問です...レポート(キー)と値で行ったように、「シートのタイトル」をinfo =に変更するにはどうすればよいですか?レポート配列には、さらに多くのエントリが含まれ、すべてのエントリの横に異なる「シートのタイトル」配列が含まれます。私は具体的にしたくなく、名前で配列を呼び出します。なぜなら、jsonには常に配列が追加されるからです。助けてください、ありがとう!
PS私はforループをいじってみましたが、役に立ちませんでした...
編集:私はこのようなものが欲しい:
(
{
key = Reports;
value = {
info = {
active = 0;
author = "xxx xxxxxx";
date = "October 22, 2012";
description = "Description";
dl = "9 downloads";
email = "xxxxxxx@gmail.com";
ext = DOCX;
fortest = "Tuesday, October 23";
id = 1;
subject = Budget;
title = "Sheet title";
};
};
}
)
編集2:
とった!私はついにかなり創造的な解決策を通して答えを見つけました。私は基本的にNSDictionaryをNSArrayに変換し、それが理にかなっている場合は2つを切り替えていました...家に帰ったらコードを投稿します