wualan514 2017-11-02 08:04 采纳率: 0%
浏览 843

在java中用Httpclient,Kylin中创建cube报错

1、字符串:
String sql ="{" +
" \"name\": \"test_cube7\"," +
" \"model_name\": \"wj_test\"," +
" \"description\": \"\"," +
" \"null_string\": null}";
String cubeDescData = JsonStr.sql.replaceAll("[\r\n]", "");

cubeDescData =cubeDescData.replaceAll("[\n]", "");

cubeDescData = cubeDescData.replaceAll(" ", "");
cubeDescData = cubeDescData.trim();
JSONObject jsonParam = new JSONObject();

        jsonParam.put("cubeDescData", cubeDescData);

        jsonParam.put("project", "mytest");
        jsonParam.put("cubeName", "test_cube7");

         StringEntity uefEntity = new StringEntity(list.toString(),"utf-8");  
         uefEntity.setContentEncoding("UTF-8");    
         uefEntity.setContentType("application/json");    
        post.setEntity(uefEntity);
        报如下错:
        "msg":"Could not read JSON: Can not deserialize instance of org.apache.kylin.rest.request.CubeRequest out of START_ARRAY token\n at
  • 写回答

1条回答

  • lshen01 2023-03-16 09:57
    关注

    参考GPT和自己的思路:

    根据您提供的信息,我猜测您在使用Java中的Httpclient和Kylin API创建一个cube,但在执行post请求时出现了报错。根据报错信息,我认为可能是由于JSON格式不正确导致的。出现这种情况的原因可能是您在执行post请求时使用了一个错误的参数类型或格式。

    在您的代码中,您使用了一个字符串类型的变量来存储JSON格式的数据,并使用了JsonStr.sql来对其进行处理。然后,您将字符串中的换行符、空格等非必要字符进行替换并赋值给了一个新的变量cubeDescData。接下来,您将cubeDescData封装到了一个JSONObject中,并将其以application/json的方式设为post请求的实体。但是,根据报错信息,看起来post请求的实体应该是一个名为CubeRequest的对象,而不是一个JSONArray。因此,我建议您检查以下几点:

    • 检查jsonParam对象中的数据类型是否正确,是否包含正确的属性和值
    • 检查post请求的URL和Kylin API文档中指定的URL是否一致
    • 确定您使用的版本是否与Kylin API要求的版本相匹配
    • 在使用Httpclient提交post请求时,确保正确设置请求头和实体类型

    希望以上提示对您有所帮助,如果问题仍然存在,请提供更多信息以便我提供更准确的解答。

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog