我使用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)
返回null
,recievedJson.fields()
返回null
Object item = recievedJson.get(" productFamily"); Eclipse调试显示item = null。
Object item = recievedJson.fields(); 返回一个空的迭代器
答案 0 :(得分:0)
您正尝试使用get(int)
方法访问数组节点,而您的json是一个对象。请尝试使用get(String)
方法,其中String
是您的密钥名称。