IOS如何使用他们的密钥替换json数据

时间:2015-05-13 06:57:55

标签: ios objective-c json nsarray nsdictionary

我想更改以下JSON。 我的要求是我想在一个循环中替换("回答":"离线测试")("回答":" test12333") 。假设它是否在索引0中我想仅替换索引0的答案。

我怎样才能做到这一点?

我正在使用此代码

NSData *data = [NSData dataWithContentsOfFile:documentFile1];
NSMutableDictionary *jsonObject1 = [NSKeyedUnarchiver unarchiveObjectWithData:data];
NSLog(@"jsonObject1 is %@",jsonObject1);
NSMutableArray *responsedictonary=[jsonObject1 objectForKey:@"questions"];

JSON:

{
    "currentquestion": "Define6",

    "phasecompletion": "80",
    "questions": [
        {
            "answer": "offlinetesing",
            "dmaicQuestion_ID": "Define1",
            "projectPhase": "Define"
        },
        {
            "answer": "testing",
            "dmaicQuestion_ID": "Define2",
            "projectPhase": "Define"
        }
    ],
    "questionsAnswered": 8
}

1 个答案:

答案 0 :(得分:-1)

以下答案对您有所帮助。

NSArray *questionArray = [jsonObject valueForKey@"questions"];

NSMutableArray *array = [NSMutableArray array];

for(NSDictionary *tempDict in questionArray){
    NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithDictionary:[tempDicr mutablecopy];
    NSString *str = [dict valueForKey:@"answer"];
    if(str isEqualToString:@"offlinetesing"){
       [dict setObject:@"test" forKey:@"answer"];
    }
    [array addObject:dict];
}