Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/112.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IOS JSON解析_Json_Ios_Parsing - Fatal编程技术网

IOS JSON解析

IOS JSON解析,json,ios,parsing,Json,Ios,Parsing,我有一个JSON: {“Curs”:[{“ID”:“AED”,“Name”:“Dirhamul Emiratelor Arabe”,“Curs”:“0.8013”,“Multiplier”:“1”,“Data”:“2011-03-21”},{“ID”:“AUD”,“Name”:“Dolarul australian”,“Curs”:“2.9611”,“Multiplier”:“1”,“Data”:“2011-03-21”},{“ID”:“BGN”:“Leva bulgareasc”,“Curs”

我有一个JSON:
{“Curs”:[{“ID”:“AED”,“Name”:“Dirhamul Emiratelor Arabe”,“Curs”:“0.8013”,“Multiplier”:“1”,“Data”:“2011-03-21”},{“ID”:“AUD”,“Name”:“Dolarul australian”,“Curs”:“2.9611”,“Multiplier”:“1”,“Data”:“2011-03-21”},{“ID”:“BGN”:“Leva bulgareasc”,“Curs”:“2.1314”,“Multiplier”:“1”,“Data”:“2011-03-21”{“ID”:“BRL”,“Name”,“Realul”,“Curs”:“巴西”“1.7636”,“乘数”:“1”,“数据”:“2011-03-21”},{“ID”:“CAD”,“名称”:“Dolarul canadian”,“Curs”:“3.0137”,“乘数”:“1”,“数据”:“2011-03-21”},{“ID”:“CHF”,“名称”:“Francul elvetian”,“Curs”:“3.2484”,“乘数”:“1”,“数据”:“2011-03-21”},{“ID”:“CNY”,“名称”:“ul Chinesesc”,“Curs”:“0.4483”,“乘数”:“1”,“数据”:“2011-03-21”{“ID”:“CZK”:Coroana ceha,Curs,乘数:0.1707,乘数:1,数据:2011-03-21,乘数:1,数据:2011-03-21,乘数:0.559,乘数:1,数据:4.1685,乘数:1,数据:2011-03-21,乘数:1,数据:2011-03-21,欧元,欧元,欧元,数据:4.1685,乘数:1,数据:2011-03-21,乘数:0.4959,乘数:1,数据:里拉·斯特里纳,“库斯”:“4.7864”,“乘数”:“1”,“数据”:“2011-03-21”},{“ID”:“HUF”,“名称”:“100福林蒂·马吉亚里”,“库斯”:“1.5354”,“乘数”:“100”,“数据”:“2011-03-21”},{“ID”:“INR”,“名称”:“印第安纳州卢比亚”,“库斯”:“0.0653”,“乘数”:“1”,“数据”:“2011-03-21”},{“ID”:“JPY”,“名称”:“100耶尼·贾波内兹”,“库斯”:“3.6213”,“乘数”:“100-03-21”},{“ID”:“KRW”,“名称”:“100 Woni sud coreeni”,“Curs”:“0.2623”,“乘数”:“100”,“数据”:“2011-03-21”},{“ID”:“MDL”,“名称”:“Leul moldovenesc”,“Curs”:“0.2507”,“乘数”:“1”,“数据”:“2011-03-21”},{“ID”:“MXN”,“名称”:“墨西哥比索”;“Curs”:“0.2452”,“乘数”:“1”,“数据”:“2011-03-21”},{“ID”:“NOK”,“名称”:“Coroana norvegiana”,“CURS0.5286”乘数“:”1“,”数据“:”2011-03-21“},{”ID“:”NZD“,”名称“:”Dolarul neo zeelandez“,”Curs“,”2.164“,”乘数“:”1“,”数据“,”2011-03-21“,”ID“,”RSD“,”名称“,”null“,”Curs“:”0.0404“,”乘数“,”1“,”数据“:”2011-03-21“,”RUB“,”Rusca0.1039,“乘数”:“1”,“数据”:“2011-03-21”},{“ID”:“SEK”,“名称”:“Coroana suedeza”,“Curs”:“0.4697”,“乘数”:“1”,“数据”:“2011-03-21”},{“ID”:“TRY”,“Name”:“Lira Turcasca”,“Curs”:“1.8665”,“乘数”:“1”,“数据”:“2011-03-21”},{“ID”:“UAH”,“Name”:“Hryvna ucraineana”,“Curs”:“0.3699”,“乘数”:“1”,“Data”:“2011-03-21”{“USDDolarur american,Curs,乘数:2.9428,乘数:1,数据:2011-03-21,乘数:1,数据:2011-03-21,乘数:135.0844,乘数:1,数据:0.4233,乘数:1,数据:2011-03-21,乘数:1,数据:2011-03-21,乘数:1,数据:0.4233,乘数:1,数据:

我想对它进行解析,但我对它不熟悉,不知道如何解析。例如,我如何从ID中获取值。 这是我的密码:

#import "DownloadData.h"
#import "JSON.h"


@implementation DownloadData

-(void) connection
{

    // Create new SBJSON parser object
    SBJsonParser *parser = [[SBJsonParser alloc] init];

    // Prepare URL request to download statuses from Twitter
    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://source"]];

    // Perform request and get JSON back as a NSData object
    NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];


    // Get JSON as a NSString from NSData response
    NSString *json_string = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];
    //NSLog(json_string);
    // parse the JSON response into an object
    // Here we're using NSArray since we're parsing an array of JSON status objects
    NSArray *statuses = [parser objectWithString:json_string error:nil];

    // Each element in statuses is a single status
    // represented as a NSDictionary
    //NSLog([json_string description]);
    //NSLog([json_string objectForKey:@"Curs"]);
    /*
    for (NSDictionary *status in statuses)
    {
        // You can retrieve individual values using objectForKey on the status NSDictionary
        // This will print the tweet and username to the console

        NSLog(@"%@ - %@",[status objectForKey:@"Curs"]);
    }
    */
    NSLog(@"test");
    //jsondownload=[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 
}
@end
做:

做:


首先,您不需要
NSArray*statuses=[parser objectWithString:json_string error:nil];
因为顶级对象不是数组,您可能必须从
NSDictionary*statuses=[parser objectWithString:json_string error:nil];
首先,您不需要
NSArray*statuses=[parser objectWithString:json_string error:nil];
由于顶级对象不是数组,您可能必须从
NSDictionary*status=[parser objectWithString:json_string error:nil]开始
不幸的是,这不起作用。它在控制台中没有显示任何内容,应用程序崩溃。现在起作用。只需将@放在“ID:%@”之前。感谢您的帮助。不幸的是,这不起作用。它在控制台中没有显示任何内容,应用程序崩溃。现在起作用。只需将@放在“ID:%@”之前。谢谢您的帮助。
NSDictionary *responseObj = [parser objectWithString:json_string error:nil];

NSArray *statuses = [responseObj objectForKey:@"Curs"];

for (id anUpdate in statuses) {


  NSLog(@"ID: %@", [(NSDictionary*)anUpdate objectForKey:@"ID"]);

}