代码之家  ›  专栏  ›  技术社区  ›  Nirav Kotecha

将对象获取为singleArrayObject,如何在NSMutableArray中转换?

  •  0
  • Nirav Kotecha  · 技术社区  · 7 年前

    作为回应,我得到 gas_cylinders 键作为单个数组对象

    "gas_cylinders":["[{\"quantity\":\"2\",\"name\":\"Medium Blue\",\"price\":\"100.0\",\"total_price\":\"200.0\"},{\"quantity\":\"3\",\"name\":\"Green\",\"price\":\"100.0\",\"total_price\":\"300.0\"},{\"quantity\":\"1\",\"name\":\"Dark Green\",\"price\":\"100.0\",\"total_price\":\"100.0\"}]"]
    

    注:- tripDictionary 包含以下数据。。

    (lldb) po tripDictionary 
    {
        "gas_cylinder_total" = 600;
        "gas_cylinders" =     (
            "[{\"quantity\":\"2\",\"name\":\"Medium Blue\",\"price\":\"100.0\",\"total_price\":\"200.0\"},{\"quantity\":\"3\",\"name\":\"Green\",\"price\":\"100.0\",\"total_price\":\"300.0\"},{\"quantity\":\"1\",\"name\":\"Dark Green\",\"price\":\"100.0\",\"total_price\":\"100.0\"}]"
        );
    }
    

    我正在 气瓶 如下图所示。。

    NSArray *arr = [tripDictionary valueForKey:@"gas_cylinders"];
    if (arr && arr.count > 0) {
       NSLog(@"first obj = %@",arr[0]);
    }
    

    以上的输出 NSLog 喜欢

    first obj = [{"quantity":"2","name":"Medium Blue","price":"100.0","total_price":"200.0"},{"quantity":"3","name":"Green","price":"100.0","total_price":"300.0"},{"quantity":"1","name":"Dark Green","price":"100.0","total_price":"100.0"}]
    

    如何将此对象放入 NSMutableArray ?

    1 回复  |  直到 7 年前
        1
  •  2
  •   rmaddy    7 年前

    数据不是你想象的那样。的值 gas_cylinders 键是JSON字符串的数组。

    NSArray *cylinders = tripDictionary[@"gas_cylinders"];
    NSString *firstCylinder = cylinders[0];
    

    此时, firstCylinder 是JSON字符串。您需要解析该JSON字符串,以获得JSON字符串中包含的所需字典数组。