如何在Java中将 JSON 数组转换为字符串数组?
JSON代表 JavaScript 对象表示法。它是通过 Web 应用程序交换数据的广泛使用的格式之一。 JSON 数组与JavaScript 中的数组几乎相同。它们可以被理解为索引方式的数据(字符串、数字、布尔值)的集合。给定一个 JSON 数组,我们将讨论如何在Java中将其转换为 String 数组。
创建 JSON 数组
让我们从在Java创建一个 JSON 数组开始。在这里,我们将使用一些示例数据输入到数组中,但您可以根据需要使用这些数据。
1. 定义数组
JSONArray exampleArray = new JSONArray();
请注意,我们将导入 org.json 包以使用此命令。这在后面的代码中讨论。
2. 向数组中插入数据
我们现在将一些示例数据添加到数组中。
exampleArray.put("Geeks ");
exampleArray.put("For ");
exampleArray.put("Geeks ");
注意每个字符串后面的空格。这样做是因为当我们将其转换为 String 数组时,我们希望确保每个元素之间都有空间。
现在我们已经准备好了 JSON 数组,我们可以继续下一步也是最后一步,将其转换为 String 数组。
转换为字符串数组
我们在这里使用的方法将首先将所有 JSON 数组元素插入到List 中,因为这样可以更容易地将 List 转换为数组。
1. 创建列表
让我们从创建一个列表开始。
List exampleList = new ArrayList();
2. 将JSON数组数据加入List
我们可以遍历 JSON 数组以将所有元素添加到我们的列表中。
for(int i=0; i< exampleArray.length; i++){
exampleList.add(exampleArray.getString(i));
}
现在我们将 List 中的所有元素都作为字符串,我们可以简单地将 List 转换为 String 数组。
3. 获取字符串数组作为输出
我们将使用toArray()方法将 List 转换为 String 数组。
int size = exampleList.size();
String[] stringArray = exampleList.toArray(new String[size]);
这会将我们的 JSON 数组转换为 String 数组。代码已在下面提供以供参考。
执行:
Java
// importing the packages
import java.util.*;
import org.json.*;
public class GFG {
public static void main(String[] args)
{
// Initialising a JSON example array
JSONArray exampleArray = new JSONArray();
// Entering the data into the array
exampleArray.put("Geeks ");
exampleArray.put("For ");
exampleArray.put("Geeks ");
// Printing the contents of JSON example array
System.out.print("Given JSON array: "
+ exampleArray);
System.out.print("\n");
// Creating example List and adding the data to it
List exampleList = new ArrayList();
for (int i = 0; i < exampleArray.length; i++) {
exampleList.add(exampleArray.getString(i));
}
// Creating String array as our
// final required output
int size = exampleList.size();
String[] stringArray
= exampleList.toArray(new String[size]);
// Printing the contents of String array
System.out.print("Output String array will be : ");
for (String s : stringArray) {
System.out.print(s);
}
}
}
输出:
Given JSON array: ["Geeks ","For ","Geeks "]
Output String array will be : Geeks For Geeks