V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
taowen
V2EX  ›  Java

超级灵活的 Java JSON 库

  •  1
     
  •   taowen · 2017-01-03 23:15:48 +08:00 · 2870 次点击
    这是一个创建于 2882 天前的主题,其中的信息可能已经有所发展或是发生改变。
    https://zhuanlan.zhihu.com/p/24699465

    独特源自创新。让 Java 和 PHP/Javascript 一样灵活地处理 JSON ,并且用延迟解析的技术来获得最好的性能。
    5 条回复    2017-01-04 09:45:36 +08:00
    Troevil
        1
    Troevil  
       2017-01-03 23:34:39 +08:00
    首先说明不是喷,只是个人看法
    首先文档太少, 更多的用法未知,
    eg:java bean 的解析, 未知格式的 json 解析等
    readme 里面的一个用法
    ------------------------------------------
    JsonIterator iter = JsonIterator.parse(input); // input stream
    OrderDetails orderDetails = new OrderDetails(); // reused
    while(iter.whatIsNext() != ValueType.INVALID) {
    Any order = iter.readAny(); // lazy
    int orderId = order.toInt(0); // weakly typed
    String start = order.get(1).bindTo(orderDetails).start; // data binding
    }

    恐怕没人愿意这么解析一个 java bean

    fastjson 只需 JSON.parseObject(input,Class<?> t)

    另外 一个 ops 测试并不能说明问题,多场景测试,更多的测试数据是必要的
    毕竟 gson ,fastjson 使用大批量的用户的

    ps: any 对象延迟解析 感觉挺不错的,不知道是否是可选的 ,毕竟延迟解析也是看场景的

    期待更好的文档~
    O(∩_∩)O~~~
    taowen
        2
    taowen  
    OP
       2017-01-03 23:38:48 +08:00   ❤️ 1
    @Troevil 当然是可选的。这个例子是演示如何“灵活”。一行的写法是 JsonStream.serialize(new int[]{1,2,3}) 然后反序列化 JsonIterator.deserialize("[1,2,3]", int[].class)
    Troevil
        3
    Troevil  
       2017-01-03 23:41:27 +08:00
    @taowen thx , 文档太少了,不知道哪里还有更全的文档 , fastjson 和 gson 用腻了 ,正好想换一换
    taowen
        4
    taowen  
    OP
       2017-01-03 23:47:00 +08:00   ❤️ 1
    @Troevil http://jsoniter.com/java-features.cn.html 简明扼要,不废话型文档
    thinkmore
        5
    thinkmore  
       2017-01-04 09:45:36 +08:00
    不错,赞一个
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5998 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 03:13 · PVG 11:13 · LAX 19:13 · JFK 22:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.