__GYT 2015-01-15 05:47 采纳率: 0%
浏览 1046

求问一下 setExcludes 没有作用

在把 javabean对象转json数据格式时候,因为我有两个表,表A里包含表B集合(s new set(0)),然后我用:

 JsonConfig jsonConfig = new JsonConfig();
jsonConfig.setIgnoreDefaultExcludes(false);
jsonConfig.setExcludes(new String[]{"s"});
JSONArray rs = JSONArray.fromObject(List, jsonConfig);

去掉 不需要的 属性,结果还是报错:

 net.sf.json.JSONException: There is a cycle in the hierarchy!

可是程序在win7上能运行,在winXP上报异常,我觉得是兼容的问题,我用的有关jar包是:

图片说明

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-03 06:41
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    你使用了setExcludes方法来排除JSON序列化中不需要的数据。然而,当你尝试将Javabean对象转换为JSON时,它遇到了一个错误,这可能是由于内部循环导致的。

    setExcludes用于设置要排除的字段,但它不能直接应用于JavaBean对象本身。你需要先将JavaBean对象转换为JSON字符串,然后再处理这个JSON字符串。

    你可以参考以下示例:

    首先,创建一个JavaBean类:

    public class MyBean {
        private int id;
        private String name;
    
        // getters and setters
    }
    

    然后,创建一个转换器类:

    import com.fasterxml.jackson.databind.ObjectMapper;
    
    public class JsonConverter {
    
        public static void main(String[] args) throws Exception {
            ObjectMapper mapper = new ObjectMapper();
    
            MyBean bean = new MyBean(1, "John");
    
            try {
                String jsonString = mapper.writeValueAsString(bean);
                System.out.println(jsonString);
    
                // 尝试解析JSON字符串
                Object result = mapper.readValue(jsonString, MyBean.class);
                System.out.println(result.toString());
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    

    在这个例子中,我们首先创建了一个MyBean实例,并将其转换为JSON字符串。然后,我们尝试从这个JSON字符串中重新获取一个新的MyBean实例。如果你仍然遇到问题,可能是因为你的JavaBean对象中的属性与JSON键不匹配,或者你的JSON格式有问题。

    评论

报告相同问题?

悬赏问题

  • ¥100 X轴为分离变量(因子变量),如何控制X轴每个分类变量的长度。
  • ¥30 求给定范围的全体素数p的(p-2)的连乘积
  • ¥15 VFP如何使用阿里TTS实现文字转语音?
  • ¥100 需要跳转番茄畅听app的adb命令
  • ¥50 寻找一位有逆向游戏盾sdk 应用程序经验的技术
  • ¥15 请问有用MZmine处理 “Waters SYNAPT G2-Si QTOF质谱仪在MSE模式下采集的非靶向数据” 的分析教程吗
  • ¥50 opencv4nodejs 如何安装
  • ¥15 adb push异常 adb: error: 1409-byte write failed: Invalid argument
  • ¥15 nginx反向代理获取ip,java获取真实ip
  • ¥15 eda:门禁系统设计