搜尋

首頁  >  問答  >  主體

java - fastjson 或者 Gson 有没有对某个类自定义 json 的办法。

有一个特殊的类型,不希望按照 bean 方式json 化,能不能用自己的方法替换。

PHP中文网PHP中文网2889 天前371

全部回覆(3)我來回復

  • 伊谢尔伦

    伊谢尔伦2017-04-17 18:03:29

    自己解決了:

        ObjectSerializer recordFilter = new ObjectSerializer() {
            @Override
            public void write(JSONSerializer jsonSerializer, Object o, Object o1, Type type) throws IOException {
                SerializeWriter out = jsonSerializer.getWriter();
                Record record = (Record) o;
                if( record != null){
                    out.write(record.toJson());
                }else{
                    out.writeNull();
                }
            }
        };
    
        public LocalConductor() {
            SerializeConfig.getGlobalInstance()
                    .put(Record.class, recordFilter);
    
        }

    介面可能有變化

    使用 SerializeConfig 類別的 put 方法,對指定類型的解析進行修改。

    回覆
    0
  • PHPz

    PHPz2017-04-17 18:03:29

    不是很明白, 可以貼個例子, 如果不用bean的話 可以用fastjson的get方法回傳結果

    回覆
    0
  • 大家讲道理

    大家讲道理2017-04-17 18:03:29

    JSONSerializer

    回覆
    0
  • 取消回覆