当前位置: 首页 > 知识库问答 >
问题:

用gson将sqlite数据转换为json

方宏富
2023-03-14

我想把sqlite数据转换成jsonarray,但我遇到了一些问题,我写了这段代码,用hasmap从sqlite解析到arraylist并用它把它更改为json,用gson转换

public ArrayList<HashMap<String, String>> tampil_semua_pesanan() {
    SQLiteDatabase database = this.getWritableDatabase();

    // deklarasikan sebuah arraylist yang bisa menampung hashmap
    ArrayList<HashMap<String, String>> arrayListBiodata = new ArrayList<HashMap<String, String>>();

    Cursor cursor = database.rawQuery("SELECT * FROM "+ TABLE_PESAN , null);

    // kursor langsung diarkan ke posisi paling awal data pada tabel_biodata
    if (cursor.moveToFirst()) {
        do {
            // deklarasikan sebuah hashmap, yang bisa menamp
            HashMap<String, String> hashMapBiodata = new HashMap<String, String>();

            hashMapBiodata.put("id", cursor.getString(0));
            hashMapBiodata.put("nama", cursor.getString(1));
            hashMapBiodata.put("jumlah", cursor.getString(2));

            // masukkan hashMapBiodata ke dalam arrayListBiodata
            arrayListBiodata.add(hashMapBiodata);

        } while (cursor.moveToNext());
    }
    cursor.close();
    return arrayListBiodata;
}

这就是如何解析它

ArrayList<HashMap<String, String>> arrayListPesan = sqLiteHelper.tampil_semua_pesanan();
        userFunction.gson(arrayListPesan);
        Gson gson = new Gson();
        String jsonPesan = gson.toJson(arrayListPesan);
[{"id":"11","jjumlah":"12","nama":"Ayam Goreng"},{"id":"11","jjumlah":"12","nama":"Ayam Goreng"},{"id":"11","jjumlah":"12","nama":"Ayam Goreng"}]
["makanan":{"id":"11","jumlah":"12","nama":"Ayam Goreng"},{"id":"11","jumlah":"12","nama":"Ayam Goreng"},{"id":"11","jumlah":"12","nama":"Ayam Goreng"}]

共有1个答案

宗政子琪
2023-03-14

尝试这个代码希望它是工作...

    public ArrayList<HashMap<String, HashMap<String, String>>> tampil_meja() {
    SQLiteDatabase database = this.getWritableDatabase();
    ArrayList<HashMap<String, HashMap<String, String>>> arrayListMeja = new ArrayList<HashMap<String, HashMap<String, String>>>();

    Cursor cursor = database.rawQuery("SELECT * FROM "+ TABLE_MEJA , null);

    HashMap<String, HashMap<String, String>> hashMap = new HashMap<String, HashMap<String, String>>();
    if (cursor.moveToFirst()) {
        do {
            HashMap<String, String> hashMapBiodata = new HashMap<String, String>();
            hashMapBiodata.put("id", cursor.getString(0));
            hashMap.put("makanan", hashMapBiodata);
        } while (cursor.moveToNext());
    }
    cursor.close();

    arrayListMeja.add(hashMap);
    return arrayListMeja;
}
 类似资料:
  • 问题内容: 目前,我正在使用带有webView前端的本机android应用程序。 我有类似的东西: 在活动中 我做了一个dataObject数组,比如dataObject x [5]; 现在,我想将这5个dataObject作为JSON的回调函数传递给我的javascript webView接口。 我浏览了互联网,似乎大多数教程都在谈论如何转换。没有太多关于。我找到了一个教会我的人,可以工作。 但

  • 问题内容: 我的服务器JSON返回了两种不同类型的DateFormat。“ MMM dd,yyyy”和“ MMM dd,yyyy HH:mm:ss” 当我使用以下内容转换JSON时,就可以了: 但是,当我想要详细的日期格式并将其更改为该格式时,它将引发异常com.google.gson.JsonSyntaxException:2013年3月21日 gson是否可以处理Json转换的两个不同的Dat

  • 我想将以下字符串作为json发布到服务器。 {“FirstName”:“John”,“LastName”:“Smith”},{“FirstName”:“John”,“LastName”:“Smith”} 但是如果我使用下面的代码,我会得到json对象的数组列表。 输出: [{"FirstName":"John","LastName":"Smith" }, { "FirstName":"John",

  • 问题内容: 我正在从返回JSON格式数据的服务器请求数据。发出请求时,将HashMap转换为JSON并不难,但另一种方式似乎有些棘手。JSON响应如下所示: 哪种方法最容易访问此数据?我正在使用GSON模块。 问题答案: 干得好:

  • 问题内容: 在我的Android项目中,我试图将收到的JSONArray转换为List。借助这个SO答案,我走得更远。我现在有以下代码: 不幸的是,它在最后一行抱怨Gson类型的fromJson(String,Type)方法不适用于参数(JSONArray,Type)。我真的不知道该怎么解决。 有人知道我该怎么解决吗? 问题答案: 如果您在此处看到答案,您会注意到该方法中的第一个参数是(json对