1

I have an iPhone app with an array of objects that I want to send to a PHP script and have them be stored in a mySQL database. The objects in the array contain only floating points and strings, nothing special.

From what I understand the best way to send the array to the php script is to convert the array into an JSON, send it to the php script via http post, and do a json_decode on the other end. However I'm having a hard time figuring out how to convert the array into a json object.

Can someone give me a pointer of where to start?

3 Answers 3

4

http://code.google.com/p/touchcode/wiki/TouchJSON

"TouchJSON is parser and generator for JSON implemented in Objective C.

It is based on my CocoaJSON code: http://toxicsoftware.com/cocoajson/

Here is how to use it: TouchJSONHowTo"

Sign up to request clarification or add additional context in comments.

Comments

3

Start with the JSON library for objective-c:

http://code.google.com/p/json-framework

That will make the serialization much easier, as it has a method to convert an NSArray to JSON.

http://json-framework.googlecode.com/svn/trunk/documentation/interfaceSBJSON.html#830175bff0fbef8ccb82da852a154b48

From there you can post using different mechanisms, but NSURLConnection is the easiest. You can do synch or asynch, depending on your needs.

You will need to set some headers on the request for json:

NSMutableURLRequest * r = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:30.0];
[r addValue:@"application/json" forHTTPHeaderField:@"Accept"];
[r setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];    

Comments

0

JSON is a simple text format. You can write the string out yourself by looping over your array if you don't want to use a library.

http://www.json.org/example.html

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.