JSON sta per Java Script Object Notation ed
è un formato leggero per lo scambio di dati,
quindi consente di memorizzare oggetti JavaScript come testo.
I dati JSON vengono scritti come coppie nome/valore costituita da un nome di campo (tra virgolette doppie), seguito da due punti, seguiti da un valore:
“name”:”Symon”
Android fornisce quattro classi diverse per manipolare i dati JSON. Queste classi sono JSONObject, JSONArray, JSONStringer e JSONTokenizer.
Per analizzare un oggetto JSON, creeremo un oggetto JSONObject e specificheremo una stringa contenente dati JSON.
Main Java:
package com.example.jsonParsing.activities;
import android.app.Activity;
import android.os.Bundle;
import com.example.jsonParsing.R;
import android.widget.*;
import android.view.*;
import org.json.*;
public class MainActivity extends Activity {
private TextView txv;
Button btn;
String jsonSTRING= “{\”student\”:{ \”id\”:\”1\”,\”name\”:\”Symon\”,\”age\”:\”30\”,\”address\”:\”Roma\”,\”country\”:\”Italy\”}}”;
String name,age,address,country;
int id;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txv = findViewById ( R.id.txv) ;
btn = findViewById(R.id.button);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
try {
JSONObject object = new JSONObject(jsonSTRING);
JSONObject student=object.getJSONObject(“student”);
name=student.getString(“name”);
age=student.getString(“age”);
address=student.getString(“address”);
country=student.getString(“country”);
id=student.getInt(“id”);
String string=(“Student:”+id+”\n” +name+”\n”+age+”\n”+address+”\n”+country);
txv.setText(string);
}catch (Exception e){
e.printStackTrace();
}
}
});
}
}
Main XML:
<?xml version=”1.0″ encoding=”utf-8″?>
<LinearLayout
xmlns:android=”http://schemas.android.com/apk/res/android”
android:layout_width=”match_parent”
android:layout_height=”match_parent”
android:gravity=”center”
android:orientation=”vertical”>
<Button
android:id=”@+id/button”
android:text=”Json”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”/>
<TextView
android:id=”@+id/txv”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”/>
</LinearLayout>