weixin_43833851 2019-02-21 20:57 采纳率: 0%
浏览 1540

c++解析json是否可以像JAVA一样封装成通用的方法

比如在java中,将json字符串转为对象可以用gson,转的方式大致如下:

public static <T> T json2obj(String json, Class<T> clz) {
            Gson gson = new Gson();
            T object = gson.fromJson(json, clz);
            return object;
    }

这是一个通用的方法,将json字符串转为对象,不用关心对象里面的字段名称;我现在刚接触c++,在http请求服务器后解析json,每个http请求所返回的字段都不一样,是否也可以像java一样写一个统一的转换方法,而不是给每个请求的每个字段都写一个转换并赋值的方法

  • 写回答

5条回答 默认 最新

  • threenewbee 2019-02-21 20:59
    关注

    不可以,因为c++的类缺少元数据(metadata),因此无法实现java那样的反射(rtti/dc)

    不过作为变通,可以在C++里定义一种支持递归的通用类型结构,来接受你json的数据(具体类结构模型,你可以参考微软的 IHTMLDocument 接口的实现方式)

    评论

报告相同问题?

悬赏问题

  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题