如何检查Json元素是否为JsonPrimitive

时间:2019-03-26 14:05:32

标签: java json jackson jackson-databind

我正在将一些代码从Gson更改为Jackson,在其中我必须检查当前元素的类型是否是原始类型。

我可以用Gson做这样的事情:

JsonElement element = entry.getValue();
if (element.isJsonPrimitive()) {
    ...
}

在Jackson中,Json节点类型是其中一种

JsonNodeType: { ARRAY, BINARY, BOOLEAN, MISSING, NULL, NUMBER, OBJECT, POJO, STRING }

1 个答案:

答案 0 :(得分:1)

<div ng-controller="vehicleController"> <form> <p>Search for Vehicles <input type="text" ng-model="search"></p> </form> <p> Here are your current vehicles </p> <table> <tr> <th>ID</th> <th>Make</th> <th>Capacity</th> <th>Driver</th> <th>Registration</th> <th>Model</th> </tr> <tr ng-repeat="car in cars | filter:search"> <td>{{car.Id}}</td> <td>{{car.Make}}</td> <td>{{car.Capacity}}</td> <td>{{car.Driver}}</td> <td>{{car.Registration}}</td> <td>{{car.Model}}</td> </tr> </table> <br /> </div> 的{​​{1}}类的Jackson方法应该执行以下操作:

JsonNode

如果节点为:isValueNode@Override public final boolean isValueNode() { switch (getNodeType()) { case ARRAY: case OBJECT: case MISSING: return false; default: return true; } } ARRAY,则返回OBJECT;对于其他类型-MISSING