Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Android

Cách parse chuỗi JSON trong Android

Giới thiệu

Demo parse chuỗi JSON cứng (hardcoded) bằng org.json (thư viện có sẵn Android) để lấy trường name.

Code (MainActivity.java)

public class MainActivity extends AppCompatActivity {

    private TextView textView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        textView = findViewById(R.id.text);

        String json = "{ \"geodata\": [ { \"id\": \"1\", \"name\": \"Julie Sherman\", \"gender\": \"female\", \"latitude\": \"37.3377\", \"longitude\": \"-121.8867\" } ] }";

        try {
            JSONObject root = new JSONObject(json);
            JSONArray geoArray = root.getJSONArray("geodata");
            JSONObject person = geoArray.getJSONObject(0);
            String name = person.getString("name");

            textView.setText("Tên: " + name);
        } catch (JSONException e) {
            e.printStackTrace();
            textView.setText("Lỗi parse JSON");
        }
    }
}

Giải thích cấu trúc JSON

  • Object gốc chứa key geodata là mảng.
  • Mảng có 1 object với các field: id, name, gender, latitude, longitude.
  • Dùng getJSONArray() → getJSONObject(index) → getString(key).

Best Practice

  • Trong thực tế, JSON thường lấy từ server (Volley, Retrofit, OkHttp).
  • Nên dùng Gson hoặc Moshi để tự động mapping sang POJO, tránh parse thủ công dễ sai.
  • Xử lý null/optional: dùng optString(), optJSONObject() để không crash khi key thiếu.