当前位置: 首页 > 知识库问答 >
问题:

从云endpoint返回的解析JSON错误(google app engine)

胡承悦
2023-03-14

抛出新的BadRequestException(“电子邮件地址已被占用。”);

在我的Android客户端中,我试图解析这个错误,以便将其显示给用户:

  try {
            myApi.registerUser(registrationInput).execute();
        } catch (IOException e) {
            String jsonError = e.getMessage();
            try {
                JSONObject  jsonRootObject = new JSONObject(jsonError);
                // myError should be "The Email address is already taken."
                String myError = jsonRootObject.optString("message").toString();

            }catch(Exception ex)
            {
                ex.printStackTrace(); 
            }
}

然而,我在Android Studio中发现了一个错误:

400 Bad Request
{
  "code": 400,
  "errors": [
    {
      "domain": "global",
      "message": "The Email address is already taken.",
      "reason": "badRequest"
    }
  ],
  "message": "The Email address is already taken."
}

我认为问题是返回的错误以400 Bad request开头,而不是一个打开的括号。

问题:是否有一种正确的方法来解析云endpoint错误,以获得代码和消息,以便我可以将其显示给我的用户?

我在文档中看到一些Java代码如下所示:

try {
  commitResponse = datastore.commit(commitRequest);
} catch (DatastoreException e) {
  int code = e.getCode();
  String method = e.getMethodName();
  JSONObject json = new JSONObject(new JSONTokener(e.getMessage()));
  JSONObject error = json.getJSONObject("error")
      .getJSONArray("errors")
      .getJSONObject(0);
  String reason = error.getString("reason");
  String message = error.getString("message");
  // ... process error ...
}

暂时还没有答案

 类似资料:
  • 问题内容: 我正在使用jquery调用ajax wcf方法,该方法将对象列表作为JSON字符串返回。在fiddler2中(在TextView中)检查时,JSON字符串如下所示: 当我在提琴手的JSON视图中检查结果时,它显示以下JSON: 因此,提琴手可以成功解析它,但是在客户端上,jQuery ajax错误回调函数显示以下错误: wcf方法的定义如下: 最后,调用的jQuery是: 提前致谢!

  • 问题内容: 我正在尝试加载具有获取Google Map脚本功能的两个脚本,然后在加载后,我获得另一个脚本(),该脚本使Map applet易于制作。 但是,加载后,获取Google Map API的第一个脚本很好,然后第二个脚本返回解析错误并显示以下内容: TypeError:’undefined’不是构造函数’ 但是,我不知道从哪里引用或从哪一行引用,我认为它一定是试图在此文件上执行Geocod

  • 我想将正确格式的JSON从节点服务器发送回前端。 然后在前端,我使用jQuery发出一个请求 这是返回数据,但是,它是以字符串的形式返回数据。我尝试使用JSON. parse,但得到以下错误消息。节点端的数据是一个对象数组。也许这引起了一个问题。 未捕获的SyntaxError:意外的标记,在JSON中位于2847(…) 要填充轨道数组,我有以下代码 轨迹数组中的第一项是: "{↵ "专辑“:{↵

  • 问题内容: 我想解析网页http://dcsd.nutrislice.com/menu/meadow- view/lunch/ 以获取今天的午餐菜单。(我已经构建了Adafruit #IoT热敏打印机,并且希望每天自动打印菜单。) 我最初使用BeautifulSoup来解决这个问题,但事实证明,大多数数据都已加载到JavaScript中,并且我不确定BeautifulSoup是否可以处理它。如果您

  • 问题内容: 尝试对mongoexport使用查询会导致错误。但是mongo-client会评估相同的查询,而不会出错。 在mongo-client中: 使用mongoexport: 产生的错误: 但是预先在mongoexport中进行乘法: 作品! 为什么mongo在这两种情况下对查询的评估不同? 问题答案: 该命令行实用程序支持传递查询 JSON 格式,但您要评估 的JavaScript 在您的

  • 和 是我用来获取JSON并对其进行解析的类。但是当我运行第一个时,它会报告以下堆栈跟踪: 它告诉我添加JsonReader。将lenient(true)设置为我的代码,但我的代码不使用JsonReader。那么如何将setLenient(true)添加到代码中? 编辑:添加API响应(格式化):