在JSONObject Android中编辑键和值

时间:2013-02-15 15:37:55

标签: android json

您好我有一个从网站传递到JSON对象的JSON Feed我想要做的是能够将JSONObject写入.JSON文件再次检索它并编辑其中的值,例如,如果“颜色”的关键:“棕色”。如何将颜色更改为红色,然后再将其保存到JSON文件中?

到目前为止,我已经尝试了但是我在写文件时遇到了困难

在我的全球行动中

public final static void writeDataToFile(Context activityContext, String writableString, String fileName){

            FileOutputStream fos=null;
            try {
                fos=activityContext.openFileOutput("/assets/files/"+ fileName, 0);
                fos.write(writableString.getBytes());


            } catch (FileNotFoundException e) {
                 Log.e("CreateFile", e.getLocalizedMessage());
            }
            catch (IOException e) {
                 Log.e("CreateFile", e.getLocalizedMessage());
            }

            finally{
                if(fos!=null){
                    try {
                        // drain the stream
                        fos.flush();
                        fos.close();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            }

        }

和我的活动

public void apiNetworkCallResponse(){
      Log.v("loginForm", "11111111111");
      Log.v("loginForm", "apiNetworkCallResponse = " + responseJSON);
      String writableString  = responseJSON.toString();
      GlobalActions.writeDataToFile(this, writableString, "mynetwork.json");

  }

并且发生了错误

02-15 15:43:59.209: E/AndroidRuntime(7525): java.lang.IllegalArgumentException: File /assets/files/mynetwork.json contains a path separator

1 个答案:

答案 0 :(得分:0)

你的问题是openFileOutput采用文件名,它不能采取完整的路径。此外,您根本无法写入资产。