精华内容
下载资源
问答
  • JSON过滤

    2016-08-12 10:41:15
    /*  * 1 封装的自定义类型对象的时候,封装对象中的那个属性  * 取决于你的自定义数据类型对象中哪个属性提供了Getter方法  * **如果不想封装自定义... * 将自定义类型对象中不想封装在JSON中的属性过滤


    /*
     * 1 封装的自定义类型对象的时候,封装对象中的那个属性
     * 取决于你的自定义数据类型对象中哪个属性提供了Getter方法
     * **如果不想封装自定义对象中的某个属性,可以将给属性的getter方法移除
     * 2封装在JSONObject中的自定义类型对象必须是public修饰的
     * JSON提供了属性锅炉的功能
     *  将自定义类型对象中不想封装在JSON中的属性过滤掉
     *  JsonConfig
     *   setExcludes(String[] {"name","age"})
     *  
     * 必要性
     *  什么情况下需要用到属性过滤
     *   当JSON技术与hibernate激情碰撞并且伴随级联
     *   必须是用JSON的过滤功能将具有级联关系的属性过滤掉
     *   否则会造成死循环异常
     *   There is a cycle in the hierarchy
     */

     

    public static void main(String[] args) {
    		Goods good = new Goods();
    		GoodsType gt = new GoodsType();
    		JsonConfig jc = new JsonConfig();
    		jc.setExcludes(new String[]{"gt"});
    		JSONObject jo = JSONObject.fromObject(gt,jc);
    	}


     

    展开全文
  • springmvc 设置 json过滤

    2019-11-04 10:45:51
    springmvc 设置 json过滤 http://yayihouse.com/yayishuwu/chapter/2223
    展开全文
  • json过滤某些属性 之@jsonignore

    万次阅读 多人点赞 2016-08-21 12:18:04
    写法将此标签加在model 类的类名上 ,可以多个属性也可以单个属性 //生成json时将name和age属性过滤 @JsonIgnoreProperties({"name","age"}) public class user { private String name; private int age; } 2、@...

    ###Jackson相关:

    使用Jackson相关的注解时一定要注意自己定义的属性命名是否规范。
    命名不规范时会失去效果。(例如Ename ,Eage 为不规范命名。“nameE”,“ageE”为规范命名)我在此处掉坑半个小时。至于命名规范,大家自己搜索。其实不要太奇葩的命名都是可以得。

    如果使用@JsonIgnore注解不起效时请注意一下你的属性名字是否规范

    1、@JsonIgnoreProperties

    此注解是类注解,作用是json序列化时将java bean中的一些属性忽略掉,序列化和反序列化都受影响。

    写法将此标签加在model 类的类名上 ,可以多个属性也可以单个属性

    //生成json时将name和age属性过滤
    @JsonIgnoreProperties({"name","age"})
    public class  user {
    private  String name;
    private int age;
    }
     
    

    2、@JsonIgnore

    此注解用于属性或者方法上(最好是属性上),作用和上面的@JsonIgnoreProperties一样。

    生成json 时不生成age 属性

    public class  user {
    private  String name;
    @JsonIgnore
    private int age;
    }
    

    3、@JsonFormat

    此注解用于属性或者方法上(最好是属性上),可以方便的把Date类型直接转化为我们想要的模式,比如@JsonFormat(pattern = “yyyy-MM-dd HH-mm-ss”)

    4、@JsonSerialize

    此注解用于属性或者getter方法上,用于在序列化时嵌入我们自定义的代码,比如序列化一个double时在其后面限制两位小数点。

    5、@JsonDeserialize

    此注解用于属性或者setter方法上,用于在反序列化时可以嵌入我们自定义的代码,类似于上面的@JsonSerialize

    6、@Transient

    @[email protected]�射,ORM框架将忽略该属性;
    如果一个属性并非数据库表的字段映射,就务必将其标示为@Transient,否则ORM框架默认其注解为@Basic;

    //表示该字段在数据库表中没有

    @Transient
    public int getAge() {
     return 1+1;
    }

    参考:http://www.bubuko.com/infodetail-264724.html

    展开全文
  • 总结了一下网上的常用的办法,这里是自定义一个JSON对象过滤类,请看代码:其中所需的jar包: package test;import java.lang.reflect.Field;import java.util.Collection;import java.util.Set;import ...

    在WEB项目的接口编程中,通常要去掉不需要的属性字段,以降低流量。总结了一下网上的常用的办法,这里是自定义一个JSON对象过滤类,请看代码:

    其中所需的jar包:

    8868001b274d6e654b8971fb85dc864e.png

    f1bd1d2fa997ffc7cb9ae15b48c10dcc.png

    14e1364d4600b45050bafc9ed2903b51.png

    package test;

    import java.lang.reflect.Field;

    import java.util.Collection;

    import java.util.Set;

    import net.sf.json.JSONObject;

    import net.sf.json.JsonConfig;

    import net.sf.json.util.PropertyFilter;

    import org.apache.commons.logging.Log;

    import org.apache.commons.logging.LogFactory;

    /**

    *

    Title: 忽略属性

    *

    Description:忽略JAVABEAN的指定属性、是否忽略集合类属性

    *

    */

    public class IgnoreFieldProcessorImpl implements PropertyFilter {

    Log log = LogFactory.getLog(this.getClass());

    /**

    * 忽略的属性名称

    */

    private String[] fields;

    /**

    * 是否忽略集合

    */

    private boolean ignoreColl = false;

    /**

    * 空参构造方法

    * 默认不忽略集合

    */

    public IgnoreFieldProcessorImpl() {

    // empty

    }

    /**

    * 构造方法

    * @param fields 忽略属性名称数组

    */

    public IgnoreFieldProcessorImpl(String[] fields) {

    this.fields = fields;

    }

    /**

    * 构造方法

    * @param ignoreColl是否忽略集合

    * @param fields忽略属性名称数组

    */

    public IgnoreFieldProcessorImpl(boolean ignoreColl, String[] fields) {

    this.fields = fields;

    this.ignoreColl = ignoreColl;

    }

    /**

    * 构造方法

    * @param ignoreColl 是否忽略集合

    */

    public IgnoreFieldProcessorImpl(boolean ignoreColl) {

    this.ignoreColl = ignoreColl;

    }

    public boolean apply(Object source, String name, Object value) {

    Field declaredField = null;

    //忽略值为null的属性

    if(value == null)

    return true;

    //剔除自定义属性,获取属性声明类型

    if(!"data".equals(name) && "data"!=name && !"totalSize".equals(name) && "totalSize"!=name ){

    try {

    declaredField = source.getClass().getDeclaredField(name);

    } catch (NoSuchFieldException e) {

    log.equals("没有找到属性" + name);

    e.printStackTrace();

    }

    }

    // 忽略集合

    if (declaredField != null) {

    if(ignoreColl) {

    if(declaredField.getType() == Collection.class

    || declaredField.getType() == Set.class) {

    return true;

    }

    }

    }

    // 忽略设定的属性

    if(fields != null && fields.length > 0) {

    if(juge(fields,name)) {

    return true;

    } else {

    return false;

    }

    }

    return false;

    }

    /**

    * 过滤忽略的属性

    * @param s

    * @param s2

    * @return

    */

    public boolean juge(String[] s,String s2){

    boolean b = false;

    for(String sl : s){

    if(s2.equals(sl)){

    b=true;

    }

    }

    return b;

    }

    public String[] getFields() {

    return fields;

    }

    /**

    * 设置忽略的属性

    * @param fields

    */

    public void setFields(String[] fields) {

    this.fields = fields;

    }

    public boolean isIgnoreColl() {

    return ignoreColl;

    }

    /**

    * 设置是否忽略集合类

    * @param ignoreColl

    */

    public void setIgnoreColl(boolean ignoreColl) {

    this.ignoreColl = ignoreColl;

    }

    public static void main(String[]args){

    JsonConfig config = new JsonConfig();

    config.setJsonPropertyFilter(new IgnoreFieldProcessorImpl(true, new String[]{"name"})); // 忽略掉name属性及集合对象

    Entity entity = new Entity();

    entity.setAddress("xxxxxxx");

    entity.setAge(20);

    entity.setName("lxb");

    JSONObject fromObject = JSONObject.fromObject(entity, config );

    System.out.print(fromObject.toString());

    }

    }

    实体类对象代码:

    package test;

    public class Entity {

    private Long id;

    private String name;

    private String sex;

    private String address;

    private Integer age;

    public Long getId() {

    return id;

    }

    public void setId(Long id) {

    this.id = id;

    }

    public String getName() {

    return name;

    }

    public void setName(String name) {

    this.name = name;

    }

    public String getSex() {

    return sex;

    }

    public void setSex(String sex) {

    this.sex = sex;

    }

    public String getAddress() {

    return address;

    }

    public void setAddress(String address) {

    this.address = address;

    }

    public Integer getAge() {

    return age;

    }

    public void setAge(Integer age) {

    this.age = age;

    }

    }

    测试结果为:

    {"address":"xxxxxxx","age":20},可以发现其中name属性已经被过滤了。

    展开全文
  • 很多时候,我们也不需要一个Bean中所有的属性都序列化成Json数据格式,而fromObject默认是序列化所有的,因为我们需要过滤一些不常用或者不需要的属性。package com.renyiwei.wydns.struts2.action.api;im...
  • mysql5.7表 添加了一个json的字段类型当我们的json字符串类型为二维数组时,我该如何取其中符合要求的数据呢?举例:数据库 表 testid int 主键json_text json json字符串[{"categoryId":105012,"templateId":0,...
  • } In-JSON类型名称策略 如果您可以在JSON中提供类型名称以查找过滤器类型,那么示例JSON可能如下所示: { "filters": [ {"_type": "date", "fieldName": "fooDate", "operand": "=", "value": "1997-12-20"}, {"_...
  • ELK logstash json过滤

    2020-12-15 10:32:54
    Description This is a JSON parsing filter. It takes an existing ...这是一个JSON解析过滤器。它采用一个包含JSON的现有字段,并将其扩展为Logstash事件内的实际数据结构。 By default, it will place the pa..
  • 1. Json Filter功能概述这是一个JSON解析过滤器。它接受一个包含JSON的现有字段,并将其扩展为Logstash事件中的实际数据结构。默认情况下,它将把解析过的JSON放在Logstash事件的根(顶层)中,但是这个过滤器可以配置...
  • JSON过滤对象中属性名相同时都会被过滤的情况
  • json过滤

    2016-09-18 14:06:48
    public static JSONObject propsFilter(Object obj, String... props) { JSONObject jsonObject = new JSONObject(); newArrayList(props).forEach(prop -> { try { St
  • JSON过滤属性

    2011-09-26 23:31:20
    <p>What is the best way to filter JSON nested keys and delete them? For example: <pre><code>{ "id" : "1", "key1" : "val1", "key2" : "val2", "name" : "someone", "age" : 39, "data" : [ { "id" : ...
  • 由于项目中用json作为ExtJS传到程序中的数据格式,所以许多地方需要将javaBean转换成为... 通过一个普通javabean,通过一些过滤字段,来生成jsonJava代码 privatestaticJSONObjectObjectToJSON(Tt,String[]fields,...
  • 基于注解,实现动态接口响应,避免杂乱的响应报文,支持“仅包含”、“仅排除”、“复杂嵌套”;生产环境真实案例!https://yunkun.blog.csdn.net/article/details/110071040
  • 你想不想让Java处理Json像JS那样点点就出来了那就往下看吧!JSONpath github地址json-path/JsonPath​github.com使用指南引入Maven jar包<!-- jsonpath support --> <dependency> <groupId>...
  • json过滤删除

    2014-12-25 09:10:27
    var rows=data.result.rows; $.each(rows, function(i, item){ if(item.value==6){ delete rows[i]; rows.length--; } }); return rows;...
  • java接口数据json过滤字段方法整理

    万次阅读 2017-10-26 16:03:58
    转换情景有四种:1、转换前过滤即在序列化实体的时候,就已经通过注释,取消了需要过滤的字段的序列化步骤。 简单点说,就是生成实体的时候,就过滤掉需要过滤的字段。 下面两个都是Jackson的注解。@...
  • json过滤属性

    2014-03-06 17:21:22
    我有个对象CustInfo,里面有个属性organ,类型也是个对象。 organ对象中包含一个属性parentOrgan,也是...现在我在将CustInfo转json的时候,希望保留organ, 但是过滤掉organ里面的parentOrgan这个属性,怎么实现啊?
  • json过滤器过滤子列表In this blog Dynamics CRM consultants are sharing a step-by-step guide to explain how to filter another lookup field value based on one Lookup field value. In this Lead entity, ...
  • JSON过滤去掉handler

    2015-03-20 20:36:14
    现在前后台交互的数据传输采用JSON格式,是一种很常用和普遍的形式。在JSON处理数据的过程中,经常会去掉handler,代码如下: 有段时间一直不角,在网上查找后有所了解,但一直是未见其真面目,有一次系统测试中...
  • json过滤不需要的字段

    2018-11-02 16:02:00
    import net.sf.json.JSONObject;import net.sf.json.JsonConfig;import net.sf.json.util.PropertyFilter; /*导包不要导错了*/ JsonConfig config1 = new JsonConfig(); final String[] array = new Str...
  • json过滤不要的属性

    千次阅读 2018-02-07 10:55:49
    使用json。当我们需要把对象集合转成jsonarray时。 往往当对象集合中包含别的对象时会抛出异常。即不允许对象中不能出现包含的对象(对象中的一对多关系)。 我们可是使用jsonConfig的setExcludes方法排除不...
  • shell的json过滤器jq

    2020-03-12 19:37:55
    网上的博客基本上是东抄抄西抄抄,贴上基础用法就算水了一篇,没有任何营养。...2. 对多重嵌套的json,一般遵循这个规则 echo $text | jq .xxx[.$i].yyy[.$j].zzz[.$k] 如果对象是字典,直接.xxx,如果对象是数...
  • 返回json过滤null值

    2018-12-18 16:53:47
    添加jackson-code.jar,jackson-mapper.jar 通常用jackson-all-xxx.jar    import org.codehaus.jackson.map.annotate.JsonSerialize; @JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL) ...
  • //需要格式 [{ "id":1, "name":"name1" }, { "id":2, "name":"name2" }] //members格式 [ { "deptname": "deptname1", "users": [ { "id": 1, "name": "name1" }, { "id
  • 你的json文件有bom头,$json = file_get_contents('Qcode.json');$arr = json_decode(trim($json, chr(239) . chr(187) . chr(191)), true);$temp = array_column($arr, 'dkey', 'dvalue');echo $temp['A05'];if (! ...
  • 使用Jackson相关的注解时一定要注意自己定义的属性命名是否规范。 命名不规范时会失去效果。...此注解是类注解,作用是json序列化时将java bean中的一些属性忽略掉,序列化和反序列化都受影响。 写法将此标签加在mod

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,299
精华内容 1,719
关键字:

json过滤