techwestcoastsfosea
techwestcoastsfosea

Reputation: 778

iOS parsing img tag found in JSON

I am trying to parse the file location from the following so that image can be displayed. How do I do it?

[
{
 "title":"testing barcode display",
 "body":"lets see if it renders \r\n\r\n",
 "author":"1",
 "created":"1373490143",
 "nid":"5",
 "Barcode":"<img class=\"barcode\" typeof=\"foaf:Image\" src=\"http://mysite.com/sites/default/files/barcodes/95b2d526b0a8f3860e7309ba59b7ca11QRCODE.png\" alt=\"blahimage\" title=\"blahimage\" />"
}
]

I have a table view which displays the title tag. I need to display the entire content in the detail view. I can do everything except the Barcode tag. Please advise.

Upvotes: 0

Views: 158

Answers (3)

Anupdas
Anupdas

Reputation: 10201

If it should be done, parse the xml

NSString *xmlString = @"<img class=\"barcode\" typeof=\"foaf:Image\" src=\"http://mysite.com/sites/default/files/barcodes/95b2d526b0a8f3860e7309ba59b7ca11QRCODE.png\" alt=\"blahimage\" title=\"blahimage\" />";

GDataXMLElement *xmlElement = [[GDataXMLElement alloc]initWithXMLString:xmlString error:nil];
NSArray *attributes = [xmlElement attributes];
[attributes enumerateObjectsUsingBlock:^(GDataXMLNode * node, NSUInteger idx, BOOL *stop) {
    NSLog(@"%@ : %@",node.name,node.stringValue);
}];

OR

NSString *class  = [[xmlElement attributeForName:@"class"]  stringValue];
NSString *typeOf = [[xmlElement attributeForName:@"typeof"] stringValue];
NSString *src    = [[xmlElement attributeForName:@"src"]    stringValue];
NSString *alt    = [[xmlElement attributeForName:@"alt"]    stringValue];
NSString *title  = [[xmlElement attributeForName:@"title"]  stringValue];

Upvotes: 1

Mennan
Mennan

Reputation: 4497

Use json-framework or something similar.

If you do decide to use json-framework, here's how you would parse a JSON string into an NSDictionary:

SBJsonParser* parser = [[[SBJsonParser alloc] init] autorelease];
// assuming jsonString is your JSON string...
NSDictionary* myDict = [parser objectWithString:jsonString];

// now you can grab data out of the dictionary using objectForKey or another dictionary method

Upvotes: 0

user7388
user7388

Reputation: 1741

You have to convert json string in nsdictionary, so try this

SBJSON *json = [[SBJSON new] autorelease];
 NSError *error;
 NSDictionary *dict = [json objectWithString:YOUR_JSON_STRING error:&error];

add user this dictionary to display details in tableView

Upvotes: 0

Related Questions