📜  json decode android - Javascript (1)

📅  最后修改于: 2023-12-03 15:02:25.937000             🧑  作者: Mango

使用 JSON 解码在 Android 和 JavaScript 中

在移动开发和 Web 开发中,解析 JSON 是必不可少的一部分。JSON 是一种轻量级数据交换格式,易于传输和解析。在 Android 和 JavaScript 中,内置了可以进行 JSON 解码的工具。本文将介绍如何在 Android 和 JavaScript 中使用 JSON 解码。

在 Android 中使用 JSON 解码

在 Android 中,可以使用内置的 JSONObjectJSONArray 类来解析和操作 JSON 数据。

解析 JSON 字符串

以下代码展示了如何解析一个 JSON 字符串:

String jsonString = "{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}";
try {
    JSONObject jsonObject = new JSONObject(jsonString);
    String name = jsonObject.getString("name");
    int age = jsonObject.getInt("age");
    String city = jsonObject.getString("city");
    Log.d(TAG, "name: " + name + ", age: " + age + ", city: " + city);
} catch (JSONException e) {
    e.printStackTrace();
}

在这个示例中,我们首先创建了一个 JSON 字符串。然后,我们在 try 块中使用 JSONObject 类将其解析为一个 JSON 对象。我们可以使用 getStringgetInt 等方法来获取 JSON 对象中的属性值。

解析 JSON 数组

以下代码展示了如何解析一个 JSON 数组:

String jsonArrayString = "[{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}," +
        "{\"name\":\"Jane\",\"age\":25,\"city\":\"Los Angeles\"}]";
try {
    JSONArray jsonArray = new JSONArray(jsonArrayString);
    for (int i = 0; i < jsonArray.length(); i++) {
        JSONObject jsonObject = jsonArray.getJSONObject(i);
        String name = jsonObject.getString("name");
        int age = jsonObject.getInt("age");
        String city = jsonObject.getString("city");
        Log.d(TAG, "name: " + name + ", age: " + age + ", city: " + city);
    }
} catch (JSONException e) {
    e.printStackTrace();
}

在这个示例中,我们首先创建了一个 JSON 数组字符串。然后,我们使用 JSONArray 类将其解析为一个 JSON 数组。我们可以使用 getJSONObject 方法来获取数组中的每个 JSON 对象,然后再获取其属性值。

将对象转化为 JSON 字符串

以下代码展示了如何将一个 Java 对象转化为 JSON 字符串:

Person person = new Person("John", 30, "New York");
try {
    JSONObject jsonObject = new JSONObject();
    jsonObject.put("name", person.getName());
    jsonObject.put("age", person.getAge());
    jsonObject.put("city", person.getCity());
    String jsonString = jsonObject.toString();
    Log.d(TAG, jsonString);
} catch (JSONException e) {
    e.printStackTrace();
}

在这个示例中,我们首先创建了一个 Java 对象 Person。然后,我们使用 JSONObject 类将其转化为一个 JSON 对象,再调用 toString 方法将其转化为 JSON 字符串。

将数组转化为 JSON 数组字符串

以下代码展示了如何将一个 Java 数组转化为 JSON 数组字符串:

Person[] persons = new Person[2];
persons[0] = new Person("John", 30, "New York");
persons[1] = new Person("Jane", 25, "Los Angeles");
try {
    JSONArray jsonArray = new JSONArray();
    for (Person person : persons) {
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("name", person.getName());
        jsonObject.put("age", person.getAge());
        jsonObject.put("city", person.getCity());
        jsonArray.put(jsonObject);
    }
    String jsonArrayString = jsonArray.toString();
    Log.d(TAG, jsonArrayString);
} catch (JSONException e) {
    e.printStackTrace();
}

在这个示例中,我们首先创建了一个 Java 对象数组。然后,我们使用 JSONArray 类将其转化为一个 JSON 数组,再通过循环将数组中的每个对象转化为一个 JSON 对象。

在 JavaScript 中使用 JSON 解码

在 JavaScript 中,可以使用内置的 JSON 对象来解析和操作 JSON 数据。

解析 JSON 字符串

以下代码展示了如何解析一个 JSON 字符串:

var jsonString = '{"name":"John","age":30,"city":"New York"}';
var jsonObject = JSON.parse(jsonString);
var name = jsonObject.name;
var age = jsonObject.age;
var city = jsonObject.city;
console.log("name: " + name + ", age: " + age + ", city: " + city);

在这个示例中,我们首先创建了一个 JSON 字符串。然后,我们使用 JSON.parse 方法将其解析为一个 JSON 对象。我们可以使用对象的属性来获取 JSON 对象中的属性值。

解析 JSON 数组

以下代码展示了如何解析一个 JSON 数组:

var jsonArrayString = '[{"name":"John","age":30,"city":"New York"},' +
                  '{"name":"Jane","age":25,"city":"Los Angeles"}]';
var jsonArray = JSON.parse(jsonArrayString);
for (var i = 0; i < jsonArray.length; i++) {
    var jsonObject = jsonArray[i];
    var name = jsonObject.name;
    var age = jsonObject.age;
    var city = jsonObject.city;
    console.log("name: " + name + ", age: " + age + ", city: " + city);
}

在这个示例中,我们首先创建了一个 JSON 数组字符串。然后,我们使用 JSON.parse 方法将其解析为一个 JSON 数组。我们可以使用下标来获取数组中的每个 JSON 对象,然后再获取其属性值。

将对象转化为 JSON 字符串

以下代码展示了如何将一个 JavaScript 对象转化为 JSON 字符串:

var person = {name: "John", age: 30, city: "New York"};
var jsonString = JSON.stringify(person);
console.log(jsonString);

在这个示例中,我们首先创建了一个 JavaScript 对象。然后,我们使用 JSON.stringify 方法将其转化为 JSON 字符串。

将数组转化为 JSON 数组字符串

以下代码展示了如何将一个 JavaScript 数组转化为 JSON 数组字符串:

var persons = [{name: "John", age: 30, city: "New York"},
               {name: "Jane", age: 25, city: "Los Angeles"}];
var jsonArrayString = JSON.stringify(persons);
console.log(jsonArrayString);

在这个示例中,我们首先创建了一个 JavaScript 数组。然后,我们使用 JSON.stringify 方法将其转化为 JSON 数组字符串。

总结

本文介绍了如何在 Android 和 JavaScript 中使用 JSON 解码。我们学习了如何解析 JSON 字符串和数组,以及如何将对象和数组转化为 JSON 字符串。JSON 是一种非常实用和流行的数据格式,在移动开发和 Web 开发中应用广泛,掌握好使用 JSON 解码的技能对程序员来说是非常有用的。