【问题标题】:objc How do I get the string object from this Json array?objc 如何从这个 Json 数组中获取字符串对象?
【发布时间】:2015-08-06 18:46:00
【问题描述】:

这是传入数组的一部分:

variantArray: (
        (
                {
            CardinalDirection = "North-West";
            DirectionVariantId = "DcCi_1445_171_0_0";
            Distance = "2.516606318971459";
            RouteName = "Woodsy";
            Shape =             {
                Points =                 (
                                        {

我想获取DirectionVariantId的值

我通常会循环使用

NSMutableArray *myString = [variantArray[i] valueForKey:@"DirectionVariantId"];

当我尝试检查字符串中的最后一个字符时,这不起作用并导致异常:

NSString *lastChar = [myString substringFromIndex:[myString length] - 1];

这对我来说是一个新数据集,但我遗漏了一些东西..

感谢任何提示。

【问题讨论】:

    标签: ios objective-c json nsstring


    【解决方案1】:

    Json 包含两个大括号表示嵌套数组。

    试试:

    NSString *myString=[[[variantArray objectAtIndex:0] objectAtIndex:0] objectForKey:@"DirectionVariantId"];
    

    【讨论】:

    • 宾果游戏。非常感谢 Avijit。我必须明白为什么!欢迎任何见解,但我会认为它已解决。
    • 欢迎大卫先生继续努力。
    【解决方案2】:

    我想你在找[variantArray[i] objectForKey:@"DirectionVariantId"];

    您需要将传入数组 (variantArray[i]) 中的对象转换为 NSDictionary,但它可能已经根据您的原始输出判断。

    【讨论】:

    • 感谢 Derek,但我得到了同样的异常:NSInvalidArgumentException',原因:'-[__NSArrayM objectForKey:]: unrecognized selector sent to instance 0x7fb4f2e77010'
    猜你喜欢
    • 1970-01-01
    • 2016-02-22
    • 1970-01-01
    • 2021-11-07
    • 1970-01-01
    • 1970-01-01
    • 2015-11-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多