When you have several variables (data) which you would send to Android using regular text on HTTP, then JSON would become an alternative format to XML. Android has it’s own JSON parser class which able to convert text on JSON format into a JSON Object. Since version 5.2.0, PHP has it’s built in json_encode()
and json_decode()
function to convert an array into json string and vice versa.
Here is an example on how to encode an array into JSON string:
<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
echo json_encode($arr);
?>
The above example will output the following text:
{"a":1,"b":2,"c":3,"d":4,"e":5}
More information on json_encode()
function on PHP can be seen here.
In Android, after putting the JSON string into a variable (e.g. from a HTTP Request), you may directly convert it into a JSONObject
object. For example:
String JSONString = this.getResponseString();
if(JSONString != null) {
JSONObject jObj;
try {
jObj = new JSONObject(JSONString);
return jObj;
} catch (JSONException e) {
this.error = e.getMessage();
e.printStackTrace();
}
}
jObj
is the JSONObject
object in which the decoded JSON string is in from JSONString
variable. if JSONString
is unable to be decoded, then a JSONException
will be raised. Otherwise the object variables (data) inside jObj
object is ready to be used on your Android application.