jsonarray转string数组

根据使用的JSON库选择对应方法:①org.json通过循环调用getString;②FastJSON使用toArray转换;③Jackson用ObjectMapper的readValue转为String数组,需确保元素均为字符串类型。

JSONArray 转换为 String 数组的方法取决于你使用的 JSON 库。以下是几种常见场景下的实现方式。

使用 org.json.JSONArray

如果你使用的是 Java 中的 org.json 库,可以通过遍历 JSONArray 并提取每个元素作为字符串:

import org.json.JSONArray;

JSONArray jsonArray = new JSONArray("[\"apple\", \"banana\", \"orange\"]");
String[] stringArray = new String[jsonArray.length()];

for (int i = 0; i < jsonArray.length(); i++) {
    stringArray[i] = jsonArray.getString(i);
}

使用阿里巴巴 FastJSON

如果你使用的是 FastJSON,可以更方便地转换:

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;

String jsonStr = "[\"a\", \"b\", \"c\"]";
JSONArray array = JSON.parseArray(jsonStr);
String[] stringArray = array.toArray(new String[0]);

使用 Jackson

使用 Jackson 可以结合 ObjectMapper 进行转换:

import com.fasterxml.jackson.databind.ObjectMapper;

ObjectMapper mapper = new ObjectMapper();
String jsonStr = "[\"x\", \"y\", \"z\"]";
String[] stringArray = mapper.readValue(jsonStr, String[].class);

注意:确保 JSONArray 中的每个元素都是字符串类型,否则在转换时可能抛出异常。

基本上就这些,根据你用的库选择对应方法即可。不复杂但容易忽略类型一致性。