java - 在 play-framework 中获取 json

标签 java playframework-2.4

我想从 angularJS 应用程序中使用我的 play-framework application() 获取 json 字符串。

这是我实际发送的内容:

{"in":[
       {"id":4,"ip":"192.168.0.20","pinSysNo":4,"pinSysName":"pg6","folderName":"gpio4_pg6","alias":"d","direction":"digital_in"},
       {"id":3,"ip":"192.168.0.20","pinSysNo":3,"pinSysName":"pb18","folderName":"gpio3_pb18","alias":"c","direction":"digital_out"}
      ],
 "out":[
       {"id":1,"ip":"192.168.0.20","pinSysNo":1,"pinSysName":"pg3","folderName":"gpio1_pg3","alias":"a","direction":"digital_in"},
       {"id":2,"ip":"192.168.0.20","pinSysNo":2,"pinSysName":"pb16","folderName":"gpio2_pb16","alias":"b","direction":"digital_in"}
            ]
}:""

我总是收到状态代码 500(内部服务器错误)。 我的 route 有些不正确吗? 路线:

POST        /networkInsertJson          controllers.NetworkController.InsertJson()

我的 json 字符串的最后 3 个字符可能有问题吗?

这是我的 Controller :

public static Result InsertJson(){
    ObjectNode result = Json.newObject();
    JsonNode json = request().body().asJson();
    org.json.simple.parser.JSONParser parser = new JSONParser();
    JSONObject o = new JSONObject();
    try{
        o = (JSONObject) parser.parse(json.asText());
    }catch (Exception e){

    }

    JSONArray ins = (JSONArray) o.get("in");
    JSONArray outs = (JSONArray) o.get("out");

    //I return the json back for testing
    result.put("in", ins.toJSONString());
    return ok(result);
}

你能帮我找出错误吗?

最佳答案

我在这些行中发现了自己的错误:

result.put("in", ins.toJSONString());

我尝试插入一个数组作为 json 元素的内容。

关于java - 在 play-framework 中获取 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35645755/

相关文章:

java - Java/Android 中类似 Google Drive 的同步机制

java - 在 Java 中复用 Future<>

json - Play Framework 和 Scala Json,解析包含 JSArray 和 JSObject 的 json

java - PlayFramework 和在 MySQL 数据库中搜索波斯语单词

scala - 如何在 Play Framework 2.4.2 scala 中正确安排任务?

java - Java Swing 中的问题

java - 调用网络服务后的 XMLStreamReaderException 响应

java - MongoDB 与使用 Java 的 Play Framework

requirejs - 如何在 Play 框架中使用 RequireJS 优化器?

java - ActionRedirect 迁移到 Struts 2