为了账号安全,请及时绑定邮箱和手机立即绑定

从 javax.json.JsonArray 转换为 org.json.JSONArray

从 javax.json.JsonArray 转换为 org.json.JSONArray

千万里不及你 2023-06-04 17:03:17
是否可以从较新的 EJB JSON 库转换为较旧的 org.json 库,而不必依赖 org.json.simple 或 GSON?在下面的例子中,“按钮”是一个填充的 JsonArray,我试图将它复制到一个 JSONArray 中以用于遗留代码。但是从字符串化值初始化 JSONArray 总是失败并显示“A JSONObject text must be begin with '{'”,因为引号被视为第一个字符而不是大括号。        JSONArray newButtons = new JSONArray();        for (int i = 0; i < buttons.size(); i++) {            JsonString button = buttons.getJsonString(i);            newButtons.put(new JSONArray(button.toString()));        }        return new JSONArray(newButtons);似乎没有任何类型的 org.json 对象可以从带有 javax.json 库中的 toString() 值的字符串构造函数初始化。我已经设法将数据从 org.json 结构移动到 javax.json 结构,但反之亦然。org.json 库是否太不灵活而无法执行此操作?
查看完整描述

1 回答

?
交互式爱情

TA贡献1712条经验 获得超3个赞

我没有尝试过,但我相信以下应该有效。


JSONArray newButtons = new JSONArray();

for (int i = 0; i < buttons.size(); i++) {

    JsonObject button = buttons.getJsonObject(i);

    newButtons.put(new org.json.JSONObject(button.toString()));

}

return newButtons;

使用以下行,您首先获得索引为“i”的对象,然后从中创建一个 JSON 字符串。您的原始代码宁愿将元素“i”作为值而不是对象返回。


JsonString button = buttons.getJsonObject(i).toString();


查看完整回答
反对 回复 2023-06-04
  • 1 回答
  • 0 关注
  • 91 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信