JSON syntax
First look at the syntax and structure of JSON so that we know how to parse it. A JavaScript object represents a subset of the syntax when JSON syntax.
The value of the JSON can be:
Number (integer or floating-point)
String (within double quotes)
Logical value (TRUE or FALSE)
Array (surround with square brackets [])
Object (surrounded with curly braces {})
Null
There are only two structures in JSON: objects and arrays.
1, object: Object in JS is expressed as "{}" enclosed content, data structure is {Key:value,key:value,...} The structure of key-value pairs, in object-oriented language, key is the object's attribute, value is the corresponding attribute value, so it is easy to understand that the value method is the object. Key gets the value of the property, which can be a number, a string, an array, and several objects.
2, array: The array in JS is in the brackets "[]" enclosed content, the data structure is ["Java", "JavaScript", "VB",...], as in all languages, the type of field value can be numbers, strings, arrays, objects, and so on.
Do an Android network programming students must be not unfamiliar to JSON parsing, because now we use mobile phone to the server to request resources, the server returned to us the data resources are generally returned in JSON format, of course, some of the return through the XML format, relative to the JSON format, XML-formatted data is relatively cumbersome to process, and Android provides us with two classes to parse JSON objects: Jsonobject and Jsonarray can meet our needs very well, Jsonarray object can be an array of data returned to the mobile phone, Jsonobject object can be the form of the object of the data for us to package good return, the phone received both data, through the analysis, can be very convenient to use, greatly facilitate our development and learning.
Of course, in the use of Jsonobject data parsing, there are two ways, one through the form of key-value pairs of data, the other is to parse the Jsonobject into specific objects, and then through the object's get, set method for data reading and operation, for the first way, I believe that just contact with the young children's shoes are in the same way, the first method, the second way more simple and convenient, below we will learn how to achieve the Jsonobject object into a specific object bar.
Because today we are going to discuss about jsonobject parsing, so I am through a simple object creation-Object encapsulation-Object parsing-object operation, to introduce you how to Jsonobject to the specific object of the transformation.
First of all, our object class (user):
public class User {
private String ID;
private String name;
Private String from;
Public String GetId () {return
ID;
}
public void SetId (String id) {
this.id = ID;
}
Public String GetName () {return
name;
}
public void SetName (String name) {
this.name = name;
}
Public String Getfrom () {return from
;
}
public void Setfrom (String from) {
this.from = from;
}
@Override public
String toString () {return
"User [id= + ID +", name= "+ name +", from= "+ from +"] ";
}
}
Here I rewrite the object's ToString method, here must pay attention to return the parameters of the format: class name + ' [' +] + ' = ' + parameter +.....+ '] '
Here is our object creation and resolution:
1, Jsonobject object resolution class:
Jsonobject resolution class public
class Jsonparsetoobject {public
Object alljsonparsetoobject (string json, string packageaddress) {
Object parseobject = null;
try {
parseobject = Json.parseobject (JSON, Class.forName (packageaddress));
\ catch (classnotfoundexception e) {
e.printstacktrace ();
}
return parseobject;
}
2, the creation and resolution of JSON objects:
public class Mainactivity extends activity {
@Override
protected void onCreate (Bundle savedinstancestate) {
super.oncreate (savedinstancestate);
Setcontentview (r.layout.activity_main);
TextView Text = (TextView) Findviewbyid (R.ID.HW);
Our object attribute encapsulation is jsonobject
jsonobject jo = new Jsonobject ();
Jo.put ("id", "All");
Jo.put ("name", "small");
Jo.put ("from", "Henan");
String str = jo.tostring ();
Toast.maketext (this, str, toast.length_long). Show ();
Resolves the Jsonobject object
user U = (user) new Jsonparsetoobject (). Alljsonparsetoobject (Jo.tostring (), "Com.example.jsontoobject.User");
Determines whether the Jsonobject object resolves correctly
if (U!= null) {
text.settext (jo.tostring () + "\nid:" +u.getid () + "; Name:" +u.getname ( + "; From:" +u.getfrom ());////
}else{
text.settext ("User = = null");}
}
A layout file is simply a text box that displays the parsed data.
All right, here we are. About Jsonobject analytic knowledge for everyone to introduce finished, no use this way of small partners can try, or quite convenient, if you have a better way, but also hope to exchange learning.
These are all the details of the Android JSON parsing that we've been sharing, and I hope we can help.