无法写入对象的类

时间:2016-06-17 14:39:49

标签: java android class object

我有这个非常简单的类,我将保存从json

解析的数据
public class WitAiOutcome {
    private String clause ="";
    private String intent = "";
    private String[] entities;

    public void setClause(String clause){
        this.clause = clause;
    }
    public void setIntent(String intent){
        this.intent = intent;
    }
    public void setEntities (String[] entities){
        this.entities = entities;
    }

    public String getClause(){
        return this.clause;
    }
    public String getIntent(){
        return this.intent;
    }
    public String[] getEntities(){
        return this.entities;
    }
}

我不确定我的班级是否正确,因为我一段时间没有编码,但我想这就是我应该做的。

所以现在这是我的解析代码,它可以满足我的需求,我正确地得到了我想要的东西,但是当它将结果保存在我的对象中时它将无法工作,我不知道为什么。 ..我的日志显示没有错误,它只是不会打印我正在“检查”的最后一部分。我检查了结果是否正确,没有设置它们,一切正常。有人可以帮助我,我不知道我哪里错了。

 protected String doInBackground(String... params) {
     WitAiOutcome mOutcome = new WitAiOutcome();
     String[] entities = null;
     JSONArray root = null;
     try{
         System.out.println("##################################");
         JSONObject OutcomejObject = new JSONObject(params[0]);
         JSONObject mObject;
         JSONObject entitiesObject;

         root = OutcomejObject.getJSONArray("outcomes");
         mObject = root.getJSONObject(0);



         entitiesObject = mObject.getJSONObject("entities");
         for(int i=0;i<entitiesObject.length();i++) {
             //System.out.println(entitiesObject.names().getString(i)); //OK
             entities[i] = entitiesObject.names().getString(i);
         }

         // System.out.println(mObject.getString("_text")); //OK
         // System.out.println(mObject.getString("intent")); //OK

         mOutcome.setIntent(mObject.getString("intent"));
         mOutcome.setClause(mObject.getString("_text"));
         mOutcome.setEntities(entities);

         /**************JUST CHECKING******************/
         System.out.println(mOutcome.getClause());
         System.out.println(mOutcome.getEntities());
         entities = mOutcome.getEntities();
         for(int i=0;i<entities.length;i++)
             System.out.println(entities[i]);

     }catch(Exception e){}
     return null;
 }

0 个答案:

没有答案