jniC++怎么返回java的对象数组
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jniC++怎么返回java的对象数组相关的知识,希望对你有一定的参考价值。
C++通过jni调用java的一个函数,该函数返回类型为一个对象数组,这个对象是一个自定义类型,请问怎么做?翻看了jni手册里面只有CallObjectMethod() 没有类似CallObjectArrayMethod的函数,我一开始想了个办法,把函数的输出结果保存为数据成员,用获取对象数据成员的方式获取结果,结果发现同样没有获取对象数组的的接口,请问各位大侠,怎么办?
参考技术A 可怜的无分无人问津 参考技术B 放到参数里面返回在 java web开发中怎么使用json?
参考技术A一、JSON建构有两种结构:
json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组2种结构,通过这两种结构可以表示各种复杂的结构
1、对象:对象在js中表示为“”括起来的内容,数据结构为 key:value,key:value,...的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为 对象.key 获取属性值,这个属性值的类型可以是 数字、字符串、数组、对象几种。在Java中就是一种Map结构。
2、数组:数组在js中是中括号“[]”扩起来的内容,数据结构为 ["java","javascript","vb",...],取值方式和所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。在Java中是一种list结构。
经过对象、数组2种结构就可以组合成复杂的数据结构了。
二、Json in Javascript
使用Json语法创建对象
var people = "name":"jack","sex":"mail";
可以通过这种语法创建json对象,用“”括起来,用“,”隔开key:value
使用Json语法创建数组
var arr =[value1,value2...];
一个包含多个people的数组 peoples = ["name":"jack","sex":"mail",
"name":"lily","sex":"femail";
Json数组可以通过这种语法创建,用"[]"括起来,数组元素之间用“,”分隔开,下面是这种语法的示意图:
在使用Json格式字符串与服务器交互时候,可以利用Json扩展的方法将字符串转换成一个JavaScript对象,或者将一个对象转换成Json格式字符串。不过先要登录http://www.json.org下载Json2.js文件。引入该包后,js对象直接用toJSONString()装换为字符串格式,字符串可以用parseJSON()转换成js对象。
访问数据
只需用点号表示法来表示数组元素。所以,要想访问 上面peoples列表的第一个条目的名字,只需在 JavaScript 中使用下面这样的代码:
peoples[0].name
利用这样的语法,可以处理任何 JSON 格式的数据,而不需要使用任何额外的 JavaScript 工具包或 API。
修改数据
正如可以用点号和方括号访问数据,也可以按照同样的方式轻松地修改数据:
peoples[0].name = "Rachmaninov";
在将字符串转换为 JavaScript 对象之后,就可以像这样修改变量中的数据。
以上是关于jniC++怎么返回java的对象数组的主要内容,如果未能解决你的问题,请参考以下文章