【问题标题】:JQuery Ajax Call: How to fetch JsonArray?JQuery Ajax 调用:如何获取 JsonArray?
【发布时间】:2019-09-26 03:08:01
【问题描述】:

我在尝试从以JsonArray(com.google.gson.JsonArray) 形式返回数据的 Web 服务中获取数据时发现了一个问题。 当我在UI 中接收数据时,我得到了undefined。 在java 我得到低于exception

Caused by: org.codehaus.jackson.map.JsonMappingException: (was java.lang.IllegalStateException) (through reference chain: com.google.gson.JsonArray["asString"])

我尝试了各种方法,但似乎没有任何效果。请找到我尝试过的代码。

Java

@GET
@Path("/fetchData")
@Produces(MediaType.APPLICATION_JSON)
public JsonArray fetchData(@QueryParam("term") String id) 
{
    List<Object[]> listObj = new ArrayList<Object[]>();
    JsonArray jsonArrayObj = new JsonArray();
    try
    {           
        listObj = manager.planningData(id.toString());
        for (Object[] obj : listObj) 
        {
            JsonObject jsonObj = new JsonObject();
            if(obj[0]!=null)
            {
                jsonObj.addProperty("ID", obj[0].toString());
            }

            jsonArrayObj.add(jsonObj);
        }
    }

    catch(Exception e)
    {
      System.out.println(e);
    }
    return jsonArrayObj;
}

jQuery

 $.ajax({
            type : 'GET',
            url : contextPath+'/rest/fetchDataPlan/fetchData?value='+valueId+'',
            dataType:'json',
            data : {
term:valueId,
            },
            success : function(data) {
                if (data) 
                {
                    console.log("test");
                }
                else 
                {
                    console.log("no work");
                }
            },
            error : function(err) {
                console.log("error occurred  "+err.message);
            }
        });

【问题讨论】:

  • 你为什么要吞下异常?
  • 还添加了 java 异常@StephanHogenboom

标签: java jquery json ajax web-services


【解决方案1】:

JsonArray需要在java中解析成list,然后返回。然后效果很好。

ArrayList<Object> yourArray = new Gson().fromJson(jsonArrayObj, new TypeToken<List<Object>>(){}.getType());

【讨论】:

    猜你喜欢
    • 2015-02-13
    • 2015-08-15
    • 2017-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-16
    • 1970-01-01
    相关资源
    最近更新 更多