views:

121

answers:

2

Hi guyz,

I am working on iphone application which contains HTTP Request and Response.

The format of the response is a key/value format compatible with the Java "Properties" stream format.

I want to store the response into a NSDictionay. Could you suggest me any way to do this?

Thank you.

sangee

Edit:

Thanks guyz for the quick replies!!!

is their any other ways to store them in NSSdictionay?

I just want to store the album name and description in an array like this:

mutablearray = [wrwr, dsf, my album];

could you please let me know if this possible or not?

Thanks again!!!

This is the response i got it for my HTTP request...

GR2PROTO
debug_album= debug_gallery_version= debug_user=admin debug_user_type=Gallery_User debug_user_already_logged_in= server_version=2.12 status=0 status_text=Login successful.

#GR2PROTO debug_album= debug_gallery_version= debug_user=admin debug_user_type=Gallery_User debug_user_already_logged_in=1

album.name.1=wrwr album.title.1=wrwr album.summary.1= album.parent.1=0 album.resize_size.1=640 album.thumb_size.1=100 album.perms.add.1=true album.perms.write.1=true album.perms.del_item.1=true album.perms.del_alb.1=true album.perms.create_sub.1=true album.info.extrafields.1=Description

album.name.2=dsf album.title.2=dsf album.summary.2= album.parent.2=0 album.resize_size.2=640 album.thumb_size.2=100 album.perms.add.2=true album.perms.write.2=true album.perms.del_item.2=true album.perms.del_alb.2=true album.perms.create_sub.2=true album.info.extrafields.2=Description

album.name.3=my album album.title.3=my album album.summary.3= album.parent.3=0 album.resize_size.3=640 album.thumb_size.3=100 album.perms.add.3=true album.perms.write.3=true album.perms.del_item.3=true album.perms.del_alb.3=true album.perms.create_sub.3=true album.info.extrafields.3=Description
+1  A: 

If you can, I would recommend serializing the data as JSON (or XML, if you have to) and parsing it using TouchJSON or a similar parser. If you really can't, then you'll have to implement your own parser--take a look at NSScanner.

eman
A: 

Look at NSStream and the Stream Programming Guide for Cocoa.

Back in the day when Java was fully integrated into Cocoa, NSStream mapped onto Java streams. It still might. IIRC, (it's been a while) NSStream will return a properly populated NSDictionary from a Java stream.

Edit:

It looks like the text returned is just a space delimited hash which is the Java version of dictionary. It takes the form of key=value space key=value. The only tricky part is that some of the hashes are nested.

The first line for example is nested:

debug_album{ 
    debug_gallery_version{
        debug_user=admin 
        debug_user_type=Gallery_User 
        debug_user_already_logged_in{
            server_version=2.12
            status=0 
            status_text=Login successful.
        }
    }
}

You need a recursive scanner to parse that. The "key=space" pattern indicates a nested dictionary.

TechZen
thanks guyz it worked!!!!!!!
You should hit the checkmark next to the answer that resolved your question.
TechZen