Java 将JSON字符串转换为JSON数组

Java 将JSON字符串转换为JSON数组,java,json,Java,Json,您好,我调用一个服务,如果它包含多个对象,它将创建列表,但当它只包含一个对象时,它将返回一个对象,而不是缺少列表[],实际上,我想使用gson将它们转换为java类,但如果出现单个异常,它会抛出异常,但当它包含列表时,它工作正常,我实际上需要将单个gson字符串转换为数组,请帮助我..这是字符串 { "response":{ "projects":{ "project":{ "ixWorkflow":1,

您好,我调用一个服务,如果它包含多个对象,它将创建列表,但当它只包含一个对象时,它将返回一个对象,而不是缺少列表[],实际上,我想使用gson将它们转换为java类,但如果出现单个异常,它会抛出异常,但当它包含列表时,它工作正常,我实际上需要将单个gson字符串转换为数组,请帮助我..这是字符串

    {
   "response":{
      "projects":{
         "project":{
            "ixWorkflow":1,
            "sEmail":"j.a@loxvo.com",
            "sPhone":"",
            "ixProject":2,
            "ixPersonOwner":2,
            "fDeleted":false,
            "sProject":"Project Default",
            "fInbox":true,
            "sPersonOwner":"junaid"
         }
      }
   }
}
我希望它和我的一样

   {
   "response":{
      "projects":{
         "project":[
            {
               "ixWorkflow":1,
               "sEmail":"j.a@loxvo.com",
               "sPhone":"",
               "ixProject":6,
               "ixPersonOwner":2,
               "fDeleted":false,
               "sProject":"project 2",
               "fInbox":false,
               "sPersonOwner":"junaid"
            },
            {
               "ixWorkflow":1,
               "sEmail":"j.a@loxvo.com",
               "sPhone":"",
               "ixProject":2,
               "ixPersonOwner":2,
               "fDeleted":false,
               "sProject":"Project Default",
               "fInbox":true,
               "sPersonOwner":"junaid"
            }
         ]
      }
   }
}
关于

在将json传递给Gson进行对象转换之前,请尝试下面的代码,如果出现任何错误,请告诉我。我能看到的唯一可能性是if的异常

    JSONObject jsonObject = new JSONObject(responseString);
    JSONObject projectsJsonObject = jsonObject.getJSONObject("response").getJSONObject("projects"); 
    if(projectsJsonObject.getJSONArray("project") == null)
    {
        JSONArray jsonArray = new JSONArray();
        jsonArray.put(projectsJsonObject.getJSONObject("project"));
        projectsJsonObject.put("project", jsonArray);

    }
    //Pass jsonObject to Gson
使用


请在您的问题中添加更多“句号”。这看起来更像是在读弗吉尼亚·伍尔夫的小说。请包含你尝试过的代码。你能包含你的解析代码吗?我支持aquaraga的评论-请尝试使用标点符号,这将使你的问题更容易确定。你想将“项目”从单个元素更改为数组吗?那么,要么编辑JSON源代码,要么用一个简单的解析器读入它,在映射中导航到“project”,并用适当的列表替换“project”的值。JSONObject[“project”]不是JSONArr,它抛出了这个例外,我使用了projectsJsonObject.optJSONArray(“project”)而不是projectsJsonObject.getJSONArray(“project”)==不管怎样都是空的休息很好谢谢alot@JunaidAkhtar我本以为会有例外,但在另一个地方,但我很高兴它有所帮助:)
JsonParser parser = new JsonParser();
JsonObject o = (JsonObject)parser.parse("{\"a\": \"A\"}");