Json Parsing

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&#8221;
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>