1. JSON数组的遍历
在Java中,我们可以使用第三方库比如GSON或者FastJSON解析JSON字符串为一个数组,遍历数组并进行处理。下面我们以GSON为例,看一下如何遍历JSON数组。
1.1 创建JSON数组
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
public class JsonArrayDemo {
public static void main(String[] args) {
// 创建JSON数组
JsonArray jsonArray = new JsonArray();
jsonArray.add("Java");
jsonArray.add("Python");
jsonArray.add("PHP");
System.out.println(jsonArray);
}
}
运行结果如下:
["Java","Python","PHP"]
1.2 遍历JSON数组
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonParser;
public class JsonArrayDemo {
public static void main(String[] args) {
String jsonStr = "[\"Java\",\"Python\",\"PHP\"]";
JsonArray jsonArray = JsonParser.parseString(jsonStr).getAsJsonArray();
for (JsonElement element : jsonArray) {
System.out.println(element.getAsString());
}
}
}
运行结果如下:
Java
Python
PHP
通过以上代码可以看到,我们首先使用GSON库将JSON字符串解析为了一个JSON数组,然后通过for循环遍历数组并打印每一个元素的值。
2. 条件判断技巧
在处理JSON数组的时候,经常需要对数组中的元素进行条件判断,下面我们介绍一些条件判断的技巧。
2.1 使用if语句进行判断
最常见的条件判断方式是使用if语句。我们可以通过if语句来判断JSON数组中每一个元素的值是否符合条件。
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonParser;
public class JsonArrayDemo {
public static void main(String[] args) {
String jsonStr = "[\"Java\",\"Python\",\"PHP\"]";
JsonArray jsonArray = JsonParser.parseString(jsonStr).getAsJsonArray();
for (JsonElement element : jsonArray) {
if (element.getAsString().equals("Java")) {
System.out.println("这是Java");
} else {
System.out.println("这不是Java");
}
}
}
}
运行结果如下:
这是Java
这不是Java
这不是Java
通过以上代码可以看到,我们在遍历JSON数组的同时,使用if语句进行判断,如果元素的值是"Java",则输出"这是Java",否则输出"这不是Java"。
2.2 使用switch语句进行判断
另一种条件判断的方式是使用switch语句。和if语句相比,switch语句可以根据元素的值匹配相应的case语句,从而更加简洁明了。
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonParser;
public class JsonArrayDemo {
public static void main(String[] args) {
String jsonStr = "[1, 2, 3]";
JsonArray jsonArray = JsonParser.parseString(jsonStr).getAsJsonArray();
for (JsonElement element : jsonArray) {
switch (element.getAsInt()) {
case 1:
System.out.println("这是1");
break;
case 2:
System.out.println("这是2");
break;
case 3:
System.out.println("这是3");
break;
default:
break;
}
}
}
}
运行结果如下:
这是1
这是2
这是3
通过以上代码可以看到,我们在遍历JSON数组的同时,使用switch语句进行判断,根据元素的值匹配相应的case语句,从而输出相应的语句。
2.3 使用三目运算符进行判断
最后一种条件判断的方式是使用三目运算符。和if语句相比,三目运算符更加简洁明了,适合处理简单的条件判断。
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonParser;
public class JsonArrayDemo {
public static void main(String[] args) {
String jsonStr = "[1, 2, 3]";
JsonArray jsonArray = JsonParser.parseString(jsonStr).getAsJsonArray();
for (JsonElement element : jsonArray) {
String result = element.getAsInt() == 1 ? "这是1" : "这不是1";
System.out.println(result);
}
}
}
运行结果如下:
这是1
这不是1
这不是1
通过以上代码可以看到,我们在遍历JSON数组的同时,使用三目运算符进行判断,如果元素的值是1,则输出"这是1",否则输出"这不是1"。
3. 总结
本文介绍了如何使用第三方库解析JSON字符串,并展示了遍历JSON数组和处理条件判断的三种方式,分别是if语句、switch语句和三目运算符。希望本文能够帮助大家更好地处理JSON数组。