java json 转换时出错

标签 java json json-simple

我的 Java 代码如下所示:

import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
String jsonMember = strUrl;
String strMember = readUrl(jsonMember);

if (!Validator.isEmpty(strMember)) {
    Object obj = parser.parse(strMember);
    JSONObject jo = (JSONObject) obj;
    JSONArray jsonArrayMember = (JSONArray) jo.get("member");
    for (int j = 0; j < jsonArrayMember.size(); j++) {
        JSONObject memberObj = (JSONObject) jsonArrayMember.get(j);
        String name = memberObj.get("name").toString();
        String age = memberObj.get("age").toString();
    }
}

strUrl 如下所示:

{
    "team": {
        "team_id": "2",
        "team_name": "volcanoe"
    },
    "member": [
        {
            "name": "Samantha",
            "age": "20"
        }
    ]
}

它给了我如下错误:

java.lang.ClassCastException: java.lang.Boolean cannot be cast to org.json.simple.JSONArray

对于行:

JSONArray jsonArrayMember = (JSONArray) jo.get("member");

我试图读取 json 的成员元素,但奇怪的是得到了 boolean 错误。没有一个 json 使用 boolean,它们是 json 对象。

额外信息: 该代码在开发服务器上工作正常,但是当投入生产时,它导致了上述错误。与导入的代码或库/jdk有什么关系吗?

任何帮助都会很棒。

最佳答案

希望这对你有帮助

String jsonString="{\"team\": {\"team_id\": \"2\",\"team_name\": \"volcanoe\"},\"member\": [{\"name\": \"Samantha\",\"age\": \"20\"}]}";

JSONObject jsonObject = new JSONObject(jsonString);

JSONArray jsonArrayMember=jsonObject.getJSONArray("member");

System.out.println(jsonArrayMember);

能否将您的 org.json jar 文件更改为此链接 org.json 中的文件并重试希望这能解决您的问题

关于java json 转换时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50442946/

相关文章:

java - 如何在 ADF 应用程序中链接我的 WebLogic 用户

java.net.MalformedURLException : no protocol:

javascript - 为什么我会收到 Uncaught SyntaxError : Unexpected token ILLEGAL

java - 未经检查的调用 add(E) 作为原始类型 ArrayList 和 HashMap 的成员

java - 解析 JSON 文件后,如何使用 json-simple 修改 JSON 文件中特定字段的值

java - RSocket 服务器失败时如何恢复与 RSocket 的 session

java - Process.exitValue() 和 Process.destroy() 功能

arrays - 使用 ASP Classic 和 aspJSON 获取嵌套的 json 值

python - json.dump 中的 UnicodeDecodeError

Java 1.4 String.replaceAll 单引号问题