C++与 Java 数据如何互传

2014-12-25 14:02:13 +08:00
 stupidcat
标题可能有些词不达意,请先忽略,听我描述一下问题:

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

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

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

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

是不是可以用 Direct ByteBuffer 做?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/156582

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX