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
geodatalà 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.