杰克逊杰森没有正确地读我的json

时间:2014-11-06 16:40:53

标签: java json playframework playframework-2.2

我使用byte[]方法以POST方式将一些json发送到我的playframework网站。

这是json的一个例子

{
   "productFamily": "abcd",
   "currentVersion": "12d11e3",
   "serialNumber": "asdfasfdasdf",
   "modelNumber": "sdfsfdasf",
   "productCode": "safasdfsdfasdfsdfsd"
}

我尝试使用以下代码将其加载到JsonNode

public static Result submit() {
    JsonNode recievedJson = request().body().asJson();

Eclipse调试说recievedJson

_value = "{\r\n "productFamily": "abcd",\r\n "currentVersion": "12d11e3",\r\n "serialNumber": "asdfasfdasdf",\r\n "modelNumber": "sdfsfdasf",\r\n "productCode": "safasdfsdfasdfsdfsd"}"

为什么我的json字符串不会从请求正文解析为JsonNode obj?

当我尝试在recievedJson上调用JsonNode方法时,我得不到预期的结果。例如recievedJson.get(0)返回nullrecievedJson.fields()返回null

Object item = recievedJson.get(" productFamily"); Eclipse调试显示item = null。

Object item = recievedJson.fields(); 返回一个空的迭代器

1 个答案:

答案 0 :(得分:0)

您正尝试使用get(int)方法访问数组节点,而您的json是一个对象。请尝试使用get(String)方法,其中String是您的密钥名称。