【发布时间】:2020-01-06 10:53:58
【问题描述】:
由于这个问题在找到这个具体问题的实际答案之前已经关闭,所以它是here。
在java中,我使用simplejson library来处理json。
我的 json 有这个结构(截断):
{
"assembling-tags": {
"list": [
"G_StaticCushion_R",
"G_CommutationPosition_R",
"G_PlastificationPlasticisingDuration_R",
"G_PlastificationScrewPositionAfter_R",
"G_CommutationPressure_R",
"G_DynamicCommutationDuration_R",
"G_DynamicLockingToolDuration_R",
"G_CycleTime_R",
"CYCLE_TIME",
"G_ClosureSecurityClosingToolDuration_R"
]
},
我用下面的代码读取了json数据:
try (FileReader reader = new FileReader(
"/home/hduser/eclipse-workspace/db-simulatiob/src/generator-config.json")) {
JSONObject obj = (JSONObject) jsonParser.parse(reader);
我正在尝试将列表 json 数组转换为字符串数组,如下所示:
String[] aTag = (String[]) ((JSONObject) obj.get("assembling-tags")).get("list");
但这会引发以下异常:
线程“主”java.lang.ClassCastException 中的异常: org.json.simple.JSONArray 无法转换为 [Ljava.lang.String;
如何将 json 数组转换为字符串数组 (String[])?
【问题讨论】:
-
这能回答你的问题吗? Convert JSONArray to String Array
-
异常是想告诉你一些事情,你看了吗?
-
@Smile 不,因为我想要一个 String[] 而不是 ArrayList
。 (将为此详细信息编辑问题)。我也在使用 jsonsimple,所以我有一个 JSON 对象(参见代码),而不是字符串。 -
@f1sh 是的。而且我不知道如何解决这个问题。
-
您是否阅读了所有关于该问题的答案。第二个答案展示了如何创建一个字符串数组。