读取Java语言中的Java数组 [英] Read a Java array in Javascript
问题描述
我有一个在Java中返回二维数组的方法: public Object [] [] getArray1(){}
I've a method that returns a 2d-array in java : public Object[][] getArray1() {}
我用 println()
打印它的内容,并且看到它的创建得很好。
I used println()
to print it's content and i see that its well created.
在JavaScript上,我将此数组分配给 var
:
On Javascript i assign this array to a var
:
var content ="#{BDEStats.getArray1()}";
但是我似乎无法访问它的数据。它总是返回 java.Lang.object; @ ...
如何显示此数组保存的内容?
But i dont seem able to acess it's data. it always returns java.Lang.object; @...
How can i do to display the content this array holds?
我试图循环数组,但是我不知道如何引用它所持有的对象。如果我使用 content [1]
返回该索引中的一个字符。 Kinda在这里丢失了
I've tried to cycle the array but i dont know how to refer to the objects it is holding. if i use content[1]
to returns a char in that índex..! Kinda lost here
推荐答案
好了,问题解决了。这就是我的方法:
Ok problem solved. This was how I did it:
我没有返回Java数组,而是在我的方法中返回了JSON对象。
Instead of returning a Java Array I returned a JSON object in my method.
这个JSON对象每个都有一个名称和其他几个字段:
(我是从Java列表中获取数据,因此我要遍历该列表以填充JSON对象)
This JSON Object has a name and several other fields per ex: (I'm getting my data from a Java List, so I iterate the list to populate the JSON object)
SONObject jsonObj = new JSONObject();
jsonObj.clear();
for (int tt=0; tamanho>tt ; tt++) {
try {
jsonObj.put("aa"+tt, ListaJobStats.get(tt).getName());
jsonObj.put("bb"+tt , new BigDecimal(ListaJobStats.get(tt).getAge() ....
在此之后,如果我在Java中打印出JSON对象,我将得到一个字符串:
After this if I printOut the JSON object in java i get a string:
aa0:第一名; aa1: 2nd name'; bb0:'age'; bb1:'2nd age'...等等等等
aa0: '1st name'; aa1: ' 2nd name' ; bb0: 'age'; bb1: '2nd age' ... etc etc
在Javascript中使用此代码后,我得到了JSF这样的JSON对象:
After this in Javascript i get my JSON Object thorugh JSF like this:
var content=#{JAVACLASS.METHODTHATRETURNSJSON};
我在JS中将此对象字符串化:
I stringify this object in JS:
var pars= JSON.stringify(content);
,然后创建JSON对象
and i create the JSON object
var json = JSON.parse(pars)
现在,我像这样在JS中迭代此JSON对象:
Now I Iterate this JSON object in JS like this:
for (var tt=0; tamanho>tt ; tt++) {
[now im specifically adding the values to create a graphic but its just na exemple how u can acess te object]
data.setValue(tt, 0, json["aa"+tt]);
data.setValue(tt, 1, json["bb"+tt]);
...
希望它会有用。保重
这篇关于读取Java语言中的Java数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!