Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 解析字符串并创建json格式,然后保存到文本文件_Java_Android_Arrays_Json_String - Fatal编程技术网

Java 解析字符串并创建json格式,然后保存到文本文件

Java 解析字符串并创建json格式,然后保存到文本文件,java,android,arrays,json,string,Java,Android,Arrays,Json,String,我想创建一个json文本并将其保存到文本文件中。这是我到目前为止编辑过的代码。我希望jsonFormat.txt中的输出必须包含以下字符串{“Fname”:“John low”,“Mname”:“Bajud”,“Lname”:“Saddy”} 你的代码 temp2 = data.split(delim); 无法工作,因为您的delim错误 试一试 和temp2应该是字符串数组 您的代码 temp2 = data.split(delim); 无法工作,因为您的delim错误 试一试 和temp

我想创建一个json文本并将其保存到文本文件中。这是我到目前为止编辑过的代码。我希望jsonFormat.txt中的输出必须包含以下字符串{“Fname”:“John low”,“Mname”:“Bajud”,“Lname”:“Saddy”}

你的代码

temp2 = data.split(delim);
无法工作,因为您的
delim
错误

试一试

temp2
应该是字符串数组

您的代码

temp2 = data.split(delim);
无法工作,因为您的
delim
错误

试一试


temp2
应该是字符串数组

首先,代码有多个问题

  • temp2需要是一个字符串数组
  • for循环应限制在“temp2.length”而不是长度()上
  • 您使用的分隔符“[|]”不正确。您可以仅在管道“|”上拆分,而无需尝试逃逸管道

  • 我建议重新审视代码,了解它在做什么,并尝试一次编译并解决一个问题。

    首先,代码有多个问题

  • temp2需要是一个字符串数组
  • for循环应限制在“temp2.length”而不是长度()上
  • 您使用的分隔符“[|]”不正确。您可以仅在管道“|”上拆分,而无需尝试逃逸管道

  • 我建议重新查看代码,了解它在做什么,并尝试一次编译和解决一个问题。

    我没有告诉您如何将字符串转换为json,但您可以尝试一下

    public void saveContentToDisk(Context context,
                String filename, String json) {
    String data = null;
    if (json != null && !json.isEmpty()) {
            Gson gson = new Gson();
            data = gson.fromJson(json, new TypeToken<String>() {
            }.getType());    
        }
            try {
                FileWriter out = new FileWriter(new File(
                        context.getExternalCacheDir(), filename));
                out.write(data);
                out.close();
                if (Util.IS_DEBUG_LOGGABLE) {
                    Log.d(TAG, "saved data to disk " + filename);
                }
            } catch (IOException e) {
                Log.e(TAG, "Error saving data to disk, " + e.getMessage());
            }
        }
    
    public void saveContentToDisk(上下文,
    字符串文件名,字符串json){
    字符串数据=null;
    if(json!=null&&!json.isEmpty()){
    Gson Gson=新的Gson();
    data=gson.fromJson(json,newTypeToken(){
    }.getType());
    }
    试一试{
    FileWriter out=新的FileWriter(新文件(
    getExternalCacheDir(),filename));
    输出。写入(数据);
    out.close();
    if(Util.IS_DEBUG_LOGGABLE){
    Log.d(标记“已保存数据到磁盘”+文件名);
    }
    }捕获(IOE异常){
    Log.e(标记“将数据保存到磁盘时出错”+e.getMessage());
    }
    }
    
    我没有告诉你如何将字符串转换为json,但你可以试试这个

    public void saveContentToDisk(Context context,
                String filename, String json) {
    String data = null;
    if (json != null && !json.isEmpty()) {
            Gson gson = new Gson();
            data = gson.fromJson(json, new TypeToken<String>() {
            }.getType());    
        }
            try {
                FileWriter out = new FileWriter(new File(
                        context.getExternalCacheDir(), filename));
                out.write(data);
                out.close();
                if (Util.IS_DEBUG_LOGGABLE) {
                    Log.d(TAG, "saved data to disk " + filename);
                }
            } catch (IOException e) {
                Log.e(TAG, "Error saving data to disk, " + e.getMessage());
            }
        }
    
    public void saveContentToDisk(上下文,
    字符串文件名,字符串json){
    字符串数据=null;
    if(json!=null&&!json.isEmpty()){
    Gson Gson=新的Gson();
    data=gson.fromJson(json,newTypeToken(){
    }.getType());
    }
    试一试{
    FileWriter out=新的FileWriter(新文件(
    getExternalCacheDir(),filename));
    输出。写入(数据);
    out.close();
    if(Util.IS_DEBUG_LOGGABLE){
    Log.d(标记“已保存数据到磁盘”+文件名);
    }
    }捕获(IOE异常){
    Log.e(标记“将数据保存到磁盘时出错”+e.getMessage());
    }
    }
    

    您是否尝试过编译此代码?它不应该编译为
    temp2
    应该是一个字符串数组。您至少在jsonObject中有数据吗?我投票以主题外的方式结束这个问题,因为此代码甚至不编译。您尝试过编译此代码吗?它不应该编译为
    temp2
    应该是一个字符串数组。你至少在jsonObject中有数据吗?我投票结束这个问题,因为这个代码甚至没有编译。好的。我试试这个:)好的。我试试这个:)先生?我是java和android新手,但我会尝试编译你的代码:)先生?这段代码会自动从我的字符串中创建json吗?它会从json数据中生成字符串并保存到文件中。我从上一天开始就在这个项目中工作,但我无法生成json字符串:(我的工作可以生成json字符串吗?是的,你必须生成json字符串吗?我是java和android新手,但我会尝试编译你的代码:)先生这段代码会自动从我的字符串中创建json吗?它会从json数据中生成字符串并保存到文件中。我从上一天开始就在这个项目中工作,但我无法生成json字符串:(我的工作可以生成json字符串吗?是的,你必须生成json字符串
    String delim = "\\|";
    
    public void saveContentToDisk(Context context,
                String filename, String json) {
    String data = null;
    if (json != null && !json.isEmpty()) {
            Gson gson = new Gson();
            data = gson.fromJson(json, new TypeToken<String>() {
            }.getType());    
        }
            try {
                FileWriter out = new FileWriter(new File(
                        context.getExternalCacheDir(), filename));
                out.write(data);
                out.close();
                if (Util.IS_DEBUG_LOGGABLE) {
                    Log.d(TAG, "saved data to disk " + filename);
                }
            } catch (IOException e) {
                Log.e(TAG, "Error saving data to disk, " + e.getMessage());
            }
        }