在Java项目中实现dsljson时,我看到这是不正确的。这是非常缓慢且难以实施的。
我创建从JsonObject
实现的新对象
public static class abc implements JsonObject {
public final int x;
public final String s;
public abc(int x, String s) {
this.x = x;
this.s = s;
}
public void serialize(JsonWriter writer, boolean minimal) {
//parse the instance of object (abc) to json-string
}
public static final JsonReader.ReadJsonObject<abc> JSON_READER =
new JsonReader.ReadJsonObject<abc>() {
public abc deserialize(JsonReader reader) throws IOException {
// Use jsonreader and common json converter (numberconverter,
// stringconverter) to parse json-string to an
// instance of object (abc)
}
};
}
我创建了新的
DslJson<Object> dslJson = new DslJson<Object>();
,以便在使用它时调用“反序列化” /“序列化”。我认为我的实施方式不正确,因此速度太慢。
因此,如果您对此
lib
有任何经验或示例,那么可以帮助我提供有关此想法的想法吗?我们还有使用
dsljson
的另一种方法吗?DslJson
不能像JackSon
那样使用?ObjectMapper mapper = new ObjectMapper();
String jsonInString = "{\"age\":33,\"messages\":[\"msg 1\",\"msg 2\"],
\"name\":\"mkyong\"}";
User user1 = mapper.readValue(jsonInString, User.class);
最佳答案
库存储库中没有几个示例,例如:https://github.com/ngs-doo/dsl-json/blob/master/examples/Maven/src/main/java/com/dslplatform/maven/Example.java#L82
一些尝试:
重用dslJson实例-在测试期间多次重新创建它会很昂贵
避免使用字符串-byte []或Streams是GC更友好的数据类型
如果DslJson不是最快的,则很可能是您的设置有问题:)(这意味着您应该显示更多代码-测试/测试库的精确程度)