如何将JSON数组转换为List以在oracle MCS中创建DataControl?

时间:2016-04-21 10:54:35

标签: oracle-maf

我试图为下面的Json代码创建一个列表视图

require 'benchmark'
Benchmark.bmbm do |x|
    x.report { 500000.times { a = 'foobar'[/(\Afoo)bar/] } }
    x.report { 500000.times { a = 'foobar'[/\A(foo)bar/] } }
end

这是DataControl程序 此DataControl由另一个Class

调用
Rehearsal ------------------------------------
   0.630000   0.000000   0.630000 (  0.628344)
   0.620000   0.000000   0.620000 (  0.628949)
--------------------------- total: 1.250000sec

       user     system      total        real
   0.640000   0.000000   0.640000 (  0.635875)
   0.630000   0.000000   0.630000 (  0.627771)

然后我将返回List

我创建了EmployeeSearchPOJO类

我创建的列表是

{"ImageList" :[

 {
  "ENO":"87",
  "ENAME" : "john",
   "EJOB":"clerk",
  },{
    "ENO":"21",
    "ENAME" : "Abdul",
    "EJOB":"Manager",
  } ]
}

3 个答案:

答案 0 :(得分:0)

这就是我使用GSON的方式。

Gson gson = new Gson();
String json = myJsonString;
Type type = new TypeToken<ArrayList<MyClass>>(){}.getType();
myList= gson.fromJson(json, type);

答案 1 :(得分:0)

步骤1

创建一个列为ENO,ENAME,EJOB的表格。

步骤2

使用响应变量创建POJO类。生成getset方法。

第3步

解析json响应并将其存储到数据库中。(这会提高性能)

步骤4

创建class作为datacontroll,并创建arraylistpojo。 为arraylist生成get and set方法。 在set方法中使用providerChangeSupport。编写一个方法返回,它将从database中获取值并将结果(returnType为list)存储到setter的{​​{1}}方法中。从dc类的arraylist调用该方法。

步骤5

最后右键单击课程并选择constructor。然后,在jdeveloper的应用程序窗口中,您可以在CreateDataControll面板中看到list

答案 2 :(得分:0)

由于您的JSONArray包含具有三个属性的JSONObject,因此您可以使用完全相同的成员变量创建一个java类,例如

class Employee
{
    String ENO;
    String ENAME:
    String EJOB;

    //create getters ans setters
}

然后在当前代码中添加以下导入:

import oracle.adfmf.framework.api.JSONBeanSerializationHelper;

在最后一个循环中你可以写:

 Employee emp=(Employee) JSONBeanSerializationHelper.fromJSON(Employee .class,js);
employeeList.add(emp);

现在您可以在EmployeeSearchPOJO类中设置employeeList,然后使用它来创建数据控件。