-6

jsonとdictioaryについても質問したい

今私はこのようなjsonデータを持っています

{
  data: [
          {

            featured: true,
            price: {
                        currency: "IDR",
                        amount: 5557679,
                        formatted: "Rp5.558.000"
          },
    ]
}

これはこれを呼び出すための私の構文です

NSArray* deals_global_json = [json objectForKey:@"data"]; //2
          if(deals_global_json!=NULL){

              for (int i=0;i<[deals_global_json count];i++){

                  NSDictionary* jsonData = [deals_global_json objectAtIndex:i];

                  NSString *featured=[jsonData objectForKey:@"featured"];
                  NSArray *price=[jsonData objectForKey:@"price"];
                  NSDictionary *formatted =[price objectAtIndex:0];


              }

そしてそれはエラーです、そのような価格配列を解析する方法は?

4

1 に答える 1

2

これはあなたのコードでは間違っています:

NSDictionary * formated = [price objectAtIndex:0];

価格は辞書だからです。

次を使用できます。

NSString *currency = [price objectForKey:@"currency"];
NSString *amount = [price objectForKey:@"amount"];
NSString *formatted = [price objectForKey:@"formatted"];

{...}と[...]の違い:

  • 最初のものはオブジェクトです(キーと値をコンマで区切り、中括弧で囲んだ「:」文字を含むキーと値のペアの順序付けられていないコレクション。キーは文字列である必要があり、互いに区別する必要があります)。

  • 2つ目は配列です(値の順序付けられたシーケンスで、コンマで区切られ、角かっこで囲まれています。値は同じタイプである必要はありません)。

それがどのように機能するかを理解するために、JSONについてもっと読むことができます:

http://en.wikipedia.org/wiki/JSON

于 2012-10-09T16:30:39.967 に答える