-6

想问一下json和字典还有数组

现在我有这样的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 *formatted =[price objectAtIndex:0];

因为价格是字典。

您可以使用:

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

{...} 和 [...] 的区别:

  • 第一个是 Object(键:值对的无序集合,键和值之间用 ':' 字符分隔,以逗号分隔并用大括号括起来;键必须是字符串,并且应该彼此不同);

  • 第二个是数组(值的有序序列,以逗号分隔并括在方括号中;这些值不需要是相同的类型)。

要了解它的工作原理,您可以阅读有关 JSON 的更多信息:

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

于 2012-10-09T16:30:39.967 回答