使用了以下罐子:
- 杰克逊核心2.7.4.jar
- 杰克逊注释2.7.4.jar
- jackson-databind-2.7.4.jar
步骤1:请按以下方式编写以下Mixin:
import java.util.ArrayList;import com.fasterxml.jackson.annotation.JsonProperty;public abstract class MixIn { @JsonProperty("PNRNumber") abstract String getPNRNumber(); @JsonProperty("XId") abstract int getXId(); @JsonProperty("minPriced") abstract ArrayList getMinPriced();}步骤2:请按照以下步骤编写模块:
import com.fasterxml.jackson.databind.module.SimpleModule;public class MyModule extends SimpleModule{ public MyModule() { super("ModuleName"); } @Override public void setupModule(SetupContext context){ context.setMixInAnnotations(baseBean.class, MixIn.class); }}步骤3:现在是时候获取json String了,如下所示:
TermBean bean1=new TermBean("JSON");TermBean bean2=new TermBean("simple");ArrayList list=new ArrayList(); list.add(bean1); list.add(bean2);baseBean bb=new baseBean(); bb.setXId(11); bb.setPNRNumber("123456789"); bb.setMinPriced(list);ObjectMapper mapper = new ObjectMapper();Module myModule = new MyModule();mapper.registerModule(myModule); String jsonInString = mapper.writevalueAsString(bb); System.out.printf( "JSON: %s", jsonInString );输出:
JSON:{“ XId”:11,“ PNRNumber”:“ 123456789”,“ minPriced”:[{“ name”:“ JSON”},{“
name”:“ simple”}]}}
希望这可以帮助。



