V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
stupidcat
V2EX  ›  问与答

C++与 Java 数据如何互传

  •  
  •   stupidcat · 2014-12-25 14:02:13 +08:00 · 1854 次点击
    这是一个创建于 3617 天前的主题,其中的信息可能已经有所发展或是发生改变。
    标题可能有些词不达意,请先忽略,听我描述一下问题:

    我现在需要从文件中读取数据,并且对这些数据进行处理,最后发布为web服务。
    “读取数据”这一步,用的是行业内某大公司官方维护的API(闭源),这个API只有C++语言的,所以“读取数据”必须用C++写
    所以我的计划是,用C++读取数据,然后用JNI传递给Java,之后的事情都用Java写

    目前C++读取数据和JNI调用都已经走通了,但是问题来了:C++要怎么向Java传递数据?
    由于数据在文件中是以类似数据库的形式储存的,读取不同的文件时,可能会需求不同的字段,例如这次我们需要“ID, NAME, AGE, COMPANY”这四个字段,下次需要“ID, AGE, GENDER”这三个字段,等等

    我想用json来传递,就是传一个超级长的字符串,或者把每一行包成一个json对象,之类的方法。
    请问这样合适吗?还有没有更好的方法?

    谢谢各位!
    2 条回复    2014-12-25 16:55:26 +08:00
    tabris17
        1
    tabris17  
       2014-12-25 14:23:51 +08:00   ❤️ 1
    icylogic
        2
    icylogic  
       2014-12-25 16:55:26 +08:00   ❤️ 1
    如果每次要读的数据都"超级长", 那这样 dump 再 load 可能不太合适吧 ...

    是不是可以用 Direct ByteBuffer 做?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3183 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 13:28 · PVG 21:28 · LAX 05:28 · JFK 08:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.