下面是关于Android中Json数据读取与创建的完整攻略:
什么是Json
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,与XML类似,但是更为简洁、易于理解和阅读。它是一种以键值对的形式组织的数据,可以表示复杂的层次结构。
在Android中解析Json
在Android中 Json 数据通常是由网络获取到的,解析 Json 数据有以下几种方式:
1. 使用 JSONObject 和 JSONArray
对于 Json 数据,我们需要用 JSONObject 和 JSONArray 对其进行解析。JSONObject 用于处理复杂的 Json 数据,而 JSONArray 则用于处理数组形式的 Json 数据。
例如我们有以下 Json 数据:
{
"name": "John",
"age": 30,
"city": "New York",
"phoneNumbers": [
{
"type": "home",
"number": "111-111-1111"
},
{
"type": "work",
"number": "222-222-2222"
}
]
}
我们可以通过以下代码解析:
try {
JSONObject jsonObject = new JSONObject(jsonString);
String name = jsonObject.getString("name");
int age = jsonObject.getInt("age");
String city = jsonObject.getString("city");
JSONArray phoneNumbers = jsonObject.getJSONArray("phoneNumbers");
for (int i = 0; i < phoneNumbers.length(); i++) {
JSONObject phoneNumber = phoneNumbers.getJSONObject(i);
String type = phoneNumber.getString("type");
String number = phoneNumber.getString("number");
}
} catch (JSONException e) {
e.printStackTrace();
}
2. 使用 Gson
Gson是Google开发的一个用于将JSON数据转换为Java对象的Java库。我们可以通过创建一个Java类,然后使用Gson将Json数据转换为该类的对象。
例如我们有以下Json数据:
{
"name": "John",
"age": 30,
"city": "New York",
"phoneNumbers": [
{
"type": "home",
"number": "111-111-1111"
},
{
"type": "work",
"number": "222-222-2222"
}
]
}
我们可以创建以下Java类:
public class Person {
private String name;
private int age;
private String city;
private List<PhoneNumber> phoneNumbers;
public static class PhoneNumber {
private String type;
private String number;
public String getType() {
return type;
}
public String getNumber() {
return number;
}
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String getCity() {
return city;
}
public List<PhoneNumber> getPhoneNumbers() {
return phoneNumbers;
}
}
然后使用 Gson 将 Json 数据转换为该类的对象:
Gson gson = new Gson();
Person person = gson.fromJson(jsonString, Person.class);
在Android中创建Json
在 Android 中创建 Json 数据,我们可以使用 JSONObject 和 JSONArray。
例如,我们要创建以下 Json 数据:
{
"name": "John",
"age": 30,
"hobbies": ["reading", "swimming", "traveling"]
}
可以使用以下代码创建:
try {
JSONObject jsonObject = new JSONObject();
jsonObject.put("name", "John");
jsonObject.put("age", 30);
JSONArray hobbies = new JSONArray();
hobbies.put("reading");
hobbies.put("swimming");
hobbies.put("traveling");
jsonObject.put("hobbies", hobbies);
} catch (JSONException e) {
e.printStackTrace();
}
以上就是 Android 中Json数据读取与创建的方法完整攻略,希望能对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Android中Json数据读取与创建的方法 - Python技术站