如何用Jackson实现动态部分JSON序列化?

时间:2016-09-08 16:09:27

标签: java json jackson

我有一个POJO,其中包含用于跟踪属性是否已显式设置的所有属性的自定义setter方法。 setter存储到fieldNameSet布尔字段,并为这些标志公开isFieldNameSet个getter。 我希望杰克逊仅使用isFieldNameSet作为true的字段动态序列化课程。

背景

我开始编写自定义JsonFilter实现,但它没有给出关于当前被序列化的对象实例的任何上下文,所以显然我无法读取isFieldNameSet属性的当前值。 / p>

1 个答案:

答案 0 :(得分:0)

快速攻击杰克逊的例子

package tictactoe;

import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;

import javax.swing.JFrame;

public class TicTacToe implements ActionListener
{
   JFrame window;
   static JButton[][]cells=new JButton[3][3];
   boolean playing;
   char turn='X';
        public TicTacToe()
        {
           //SETS UP THE WINDOW
            window=new JFrame("TicTacToe");
            window.setSize(new Dimension(400,400));
            window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            window.setResizable(false);
            //**********************//
            createCells();

            window.setVisible(true);
        }
public static void main(String[] args) 
{
  new TicTacToe();
}
private void createCells()
{
  window.setLayout(new GridLayout(3,3));
   for(int i=0;i<cells.length;i++)
   {
       for(int j=0;j<cells.length;j++)
       {
           cells[i][j]=new JButton();
           cells[i][j].addActionListener(this);
           window.add(cells[i][j]);
       }
   }
}

@Override
public void actionPerformed(ActionEvent e) 
{
    playing=true;
    JButton _buttonPressed=(JButton)e.getSource();
      while(playing)
      {
          if(turn=='X')
          {
             _buttonPressed.setText("X");
             _buttonPressed.setEnabled(false);
             turn='O';
          }
          else
          {
              _buttonPressed.setText("O");
              _buttonPressed.setEnabled(false);
          }
     }

}
}

如您所见,忽略年龄:

{“name”:“mkyong”,“messages”:[“hello jackson 1”,“hello jackson 2”,“hello jackson 3”]}

注意杰克逊来源:https://www.mkyong.com/java/how-to-convert-java-object-to-from-json-jackson/