2016-10-27 17 views
0

このjson配列をjsonオブジェクトに変換する方法を教えてください。そして、私はこのjsonをリモートサーバーに格納する必要があります。どうすればいいの?私はこの目的のための完全なチュートリアルを見つけることができません。 jsonObjectにJSON配列を変換する方法がありますオブジェクトへのJson配列

private JSONArray getResults() { 

    String myPath = "/data/data/com.example.sebastian.patientdetails/databases/" + "MyDBName.db"; 

    String myTable = "patients"; 


    SQLiteDatabase myDataBase = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY); 

    String searchQuery = "SELECT * FROM " + myTable; 
    Cursor cursor = myDataBase.rawQuery(searchQuery, null); 

    JSONArray resultSet = new JSONArray(); 

    cursor.moveToFirst(); 
    while (!cursor.isAfterLast()) { 

     int totalColumn = cursor.getColumnCount(); 
     JSONObject rowObject = new JSONObject(); 

     for (int i = 0; i < totalColumn; i++) { 
      if (cursor.getColumnName(i) != null) { 
       try { 
        if (cursor.getString(i) != null) { 
         Log.d("TAG_NAME", cursor.getString(i)); 
         rowObject.put(cursor.getColumnName(i), cursor.getString(i)); 
        } else { 
         rowObject.put(cursor.getColumnName(i), ""); 
        } 
       } catch (Exception e) { 
        Log.d("TAG_NAME", e.getMessage()); 
       } 
      } 
     } 
     resultSet.put(rowObject); 
     cursor.moveToNext(); 
    } 
    cursor.close(); 
    Log.d("TAG_NAME", resultSet.toString()); 
    return resultSet; 
} 
+0

あなたに文字列を与えます。次に、この文字列をネットワーク接続APIを使用してリモートサーバーに送信することができます –

答えて

2
while (!cursor.isAfterLast()) { 

    int totalColumn = cursor.getColumnCount(); 
    JSONObject rowObject = new JSONObject(); 
    //new jsonarray 
    JSONArray jsonArray=new JSONArray(); 
    for (int i = 0; i < totalColumn; i++) { 
     if (cursor.getColumnName(i) != null) { 
//new jsonarray of items jsonObject    
JSONObject object = new JSONObject(); 
      try { 
       if (cursor.getString(i) != null) { 
        Log.d("TAG_NAME", cursor.getString(i)); 
        object.put(cursor.getColumnName(i),cursor.getString(i)); 

       } else { 
        object .put(cursor.getColumnName(i), ""); 
       } 
    //put jsonarray 
    jsonArray.put(object); 
      } catch (Exception e) { 
       Log.d("TAG_NAME", e.getMessage()); 
      } 
     } 
    } 
    //put request jsonobject 
    rowObject.put(jsonArray); 
    resultSet.put(rowObject); 
    cursor.moveToNext(); 
} 

あなたはGson.jarをGoogleに使用することができ、

あなたはrowObject.toString()とそれを使用することができ
1

JSONArray array; 
for(int n = 0; n < array.length(); n++) 
{ 
    JSONObject object = array.getJSONObject(n); 
    //do what ever you want 
} 
+0

このコードをどこに置くか説明できますか? –

+0

あなたのデータベースが応答としてJsonArrayを与えている場合は、Json配列を取得した後にこのコードを追加する必要があると思います。 – Archana

関連する問題