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

如何将下载的JSONArray传输到数据库?

葛宪
2023-03-14

非常感谢之前对我的查询的响应,我有JSONArray在buffer,我说的这些话可能是错的,所以请纠正我。

public void get_data(字符串数据){

    try {
        JSONArray data_array=new JSONArray(data);

        for (int i = 0 ; i < data_array.length() ; i++)
        {
            JSONObject obj=new JSONObject(data_array.get(i).toString());
            String[] nameArray;
            String[] distArray;
            String[] latArray;
            nameArray[i] = (data_array.getJSONObject(i).getString("rtrname"));
            distArray[i] = (data_array.getJSONObject(i).getString("ctgname"));
            latArray[i] = (data_array.getJSONObject(i).getString("rtrphone"));
            //lonArray[i] = (data_array.getJSONObject(i).getString("longitude"));


        }

        //adapter.notifyDataSetChanged();

    } catch (JSONException e) {
        e.printStackTrace();
    }

我已经创建了一个dbhlper.java类来处理它,但是我是新手,我缺少了一些东西,而不是将这些数据传送到namearray[i]等等。

公共布尔insertData(String rtrname,String ctgname,String rtradd1){SQLiteDatabase db=This.GetWritableDatabase();ContentValues ContentValues=new ContentValues();

    //contentValues.put(COL_2,rtrphoneno);
    contentValues.put(COL_2,ctgname);
    contentValues.put(COL_3, rtrname);
    contentValues.put(COL_4, rtradd1);
    long result = db.insert(TABLE_NAME,null ,contentValues);
    if(result == -1)
        return false;
    else
        return true;

1)我应该在main类中做什么,以便我可以将每个JSONArray节点转移到表的列中?

共有1个答案

程瑞
2023-03-14

使用以下方式

for (int i = 0 ; i < data_array.length() ; i++)
        {
            JSONObject obj=new JSONObject(data_array.get(i).toString());
            String[] nameArray;
            String[] distArray;
            String[] latArray;
            nameArray[i] = (data_array.getJSONObject(i).getString("rtrname"));
            distArray[i] = (data_array.getJSONObject(i).getString("ctgname"));
            latArray[i] = (data_array.getJSONObject(i).getString("rtrphone"));
            //lonArray[i] = (data_array.getJSONObject(i).getString("longitude"));

            db.insert(nameArray[i],distArray[i],latArray[i]);

        }

//我使用此方法逐个复制数据库列中的项。请参阅我的源代码

 // results is arrayList
for(int ij=0; ij<results.size(); ij++)
{
   //First four is static value
   mb.insertEntry(1,1,1, 1, results.get(ij).item, "1", results.get(ij).price, results.get(ij).price);
}
 类似资料:
  • 问题内容: 我有一个像这样的文件: 而且我想按行转移列,因此输出应如下所示: 我写了这个命令: 问题是此命令将所有内容都放在一行上!所以输出是这样的: 问题答案: 这可能起作用: 在Ideone上观看它。

  • 这个问题已经问过好几次了,但大多数这些问题都没有答案。 我正在下载下面这样的文件,它似乎工作正常。但是,它不会出现在iOS、ehm和gallery中。也就是说,在“照片”应用程序中。 结果是 万岁。现在,如何在ios上仅用手指打开下载?

  • -bash-4.1$ 任何帮助都将不胜感激。

  • 问题内容: 因此,我试图使用jquery的$ .getScript远程加载javascript,但是我对如何将数据传递到外部脚本感到困惑。 我已经尝试在调用之前设置变量,但是在加载的脚本中不可用,并且当我尝试使用查询字符串发送/检索它们时,远程脚本会尝试读取其基本文件的查询字符串从而不是本身被调用。还有其他方法吗?还是有可能让javascript文件读取自己的查询字符串,而不是从其调用的文件中读取

  • 问题内容: 我正在尝试使用流使用Hapi将数据发送到浏览器,但无法确定我们的方式。具体来说,我正在使用请求模块。根据文档,该对象接受流,所以我尝试了: 引发错误。在文档中说流对象必须与stream2兼容,所以我尝试了: 现在,这不会引发服务器端错误,但是在浏览器中,请求永远不会加载(使用chrome)。 然后我尝试了这个: 并且在控制台 中 输出了数据,所以我知道流不是问题,而是Hapi。我如何在

  • 我正在尝试将数据从aws S3加载到谷歌云存储:-我正在使用gsutil-我已经将S3上的文件公之于众 在windows计算机上的gsutil命令行上,我输入了: 谢了。