2014-03-03 41 views
0

一类FileHandling其中有一个名为readAllLayouts将读取指定的文件夹中的所有文件和内容JSONArray返回工作灯适配器的一种方法。返回JSON从Java到工作灯适配器

调用工作灯过程时,我有这种类型的错误:

{ 
    "errors": [ 
     "Evaluator: Java class \"org.json.simple.JSONArray\" has no public instance field or method named \"isSuccessful\"." 
    ], 
    "info": [ 
    ], 
    "isSuccessful": false, 
    "warnings": [ 
    ] 
} 

,这是我的Java方法的代码:

public static JSONArray readAllLayoutFiles (){ 

    File layoutDir = new File(LAYOUT_PARENT_DIR); 

    String allFiles[] = layoutDir.list(); 
    System.out.println("All Files Length : " + allFiles.length); 
    JSONObject obj = null;//new JSONObject[ allFiles.length ]; 

    JSONArray retArr = new JSONArray(); 

    for (String f : allFiles){ 
     obj= new JSONObject(); 
     obj.put("layoutname", f.replaceAll (".txt", "")); 
     obj.put("layouthtml", readLayoutFile (f)); 
     retArr.add(obj); 
    } 
    obj= new JSONObject(); 
    obj.put("isSuccessful", true); 
    retArr.add(obj); 

    System.out.println(retArr.toString()); 
    return retArr; 
} 

任何帮助,将不胜感激。

回答

0

因为这个问题我已经改变了我的代码,将工作,但现在却没有返回JSON,但返回一个包含JSON字符串。

下面是代码和做工精细:

public static String readAllLayoutFiles (){ 

    File layoutDir = new File(LAYOUT_PARENT_DIR); 

    String allFiles[] = layoutDir.list(); 
    System.out.println("All Files Length : " + allFiles.length); 
    JSONObject obj = null;//new JSONObject[ allFiles.length ]; 

    JSONArray retArr = new JSONArray(); 

    for (String f : allFiles){ 
     obj= new JSONObject(); 
     obj.put("layoutname", f.replaceAll (".txt", "")); 
     obj.put("layouthtml", readLayoutFile (f)); 
     retArr.add(obj); 
    } 
    obj= new JSONObject(); 
    obj.put("isSuccessful", true); 
    retArr.add(obj); 

    System.out.println(retArr.toJSONString()); 
    return retArr.toJSONString(); 
} 
0

为什么“isSuccessful”输出假,而其设置为true,在你的代码?

+0

我不知道。 –