java - Android:JsonWriter 无法写入文件

标签 java android json writer

我试图在收到 wifi 信息后调用 JsonWriter 方法向 test.json 添加一些内容,但是在成功写入文件后,文件仍然是空的。这是代码。

接收时

 @Override
        public void onReceive(Context c, Intent i) {
            if (i.getAction().equals(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION))
            {
                dbhelp = new DataBaseHelper(c);
                wifilist = new ArrayList<ScanResult>();
                wifilist = ((WifiManager) c.getSystemService(Context.WIFI_SERVICE)).getScanResults();
                dialog.dismiss();
                file = new File(c.getExternalCacheDir(),"testJson.json");           
                try
                {
                    out = new FileOutputStream(file);
                    writeJson(out);
                }
                catch(IOException e)
                {
                    e.printStackTrace();
                }
            }
        }

JsonWriter

public void writeJson(OutputStream out) throws IOException {
        writer = new JsonWriter(new OutputStreamWriter(out, "UTF-8"));
        writer.setIndent("    ");
        jsonFinal(writer);}

public void jsonFinal(JsonWriter writer) throws IOException{
            writer.beginObject();
            writer.name("status").value("OK");
            writer.name("num_results").value("");
            writer.endObject();
         }

预期的结果应该是这样的

{
    "status": "OK",
    "num_results": "",
}

最佳答案

你忘记调用 JsonWriter.close(); 在写完 JSONObject 之后做它:

        writer.name("status").value("OK");
        writer.name("num_results").value("");
        writer.endObject();
        writer.close();  //<<< call close here

关于java - Android:JsonWriter 无法写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19277529/

相关文章:

android - 如何知道用户输入了错误的密码或模式? (安卓锁)

json - Swift 2.0 JSON 字符串到 JSON

java - 如何从 Android/Java 中的字符串中获取多个子字符串?

java - 如何从java中的图像网格中获取一张图像?

java - 使用小数据类型是否会减少内存使用(来自内存分配而不是效率)?

android - 在 Fragments onCreate 方法之前恢复 savedInstanceState

android - 9-patch 图像在 TextView 周围绘制 1 个像素的边框

json - 从经纬度坐标获取街景全景 ID

java - Rest API post请求将Cucumber.json文件发送到Java中的Jira

java - Java中删除String[]