2016-02-25 2 views
2

Это может быть Тупой вопрос, но я старался изо всех сил, я не мог этого сделать. Позвольте мне объяснить мою проблему. Я извлекаю все записи из sqlite и конвертируется с использованием библиотеки Gson, но он преобразуется как jsonarray не как jsonobject, но мне нужен jsonobject для отправки на сервер, как я могу сделать это здесь позвольте мне опубликовать мой код:Как преобразовать записи из sqlite в Jsonobject?

Это код дб, где я извлечения записей:

*public List<Model_Account> toServer() { 
     String countQuery = " SELECT * FROM " + Model_Account.Accunt_Table; 
     SQLiteDatabase db = this.getReadableDatabase(); 
     Cursor cursor = db.rawQuery(countQuery, null); 
     List<Model_Account> listobj = new ArrayList<Model_Account>(); 
     if (cursor.moveToFirst()) { 
      do { 
       Model_Account modelobj = new Model_Account(); 
       modelobj.setCompany_group(cursor.getString(cursor.getColumnIndex(Model_Account.company_groups))); 
       modelobj.setParent_company(cursor.getString(cursor.getColumnIndex(Model_Account.Parent_company))); 
       modelobj.setCompany_name_id(cursor.getInt(cursor.getColumnIndex(Model_Account.companyname_id))); 
       modelobj.setCompany_type(cursor.getInt(cursor.getColumnIndex(Model_Account.Company_type))); 
       modelobj.setAddrss_line1(cursor.getString(cursor.getColumnIndex(Model_Account.Address_line1))); 
       modelobj.setCityid(cursor.getInt(cursor.getColumnIndex(Model_Account.CityID))); 
       modelobj.setPincode(cursor.getString(cursor.getColumnIndex(Model_Account.Pincode))); 
       modelobj.setLandline1(cursor.getString(cursor.getColumnIndex(Model_Account.Landline1))); 
       modelobj.setUrl(cursor.getString(cursor.getColumnIndex(Model_Account.Url))); 
       modelobj.setEmailid(cursor.getString(cursor.getColumnIndex(Model_Account.Email_id))); 
       modelobj.setIndustryid(cursor.getInt(cursor.getColumnIndex(Model_Account.IndustryID))); 
       modelobj.setAcm_id(cursor.getInt(cursor.getColumnIndex(Model_Account.Account_managerid))); 
       modelobj.setRegionID(cursor.getInt(cursor.getColumnIndex(Model_Account.regionid))); 
       modelobj.setMulti_location(cursor.getInt(cursor.getColumnIndex(Model_Account.mutilocationid))); 
       modelobj.setStateid(cursor.getInt(cursor.getColumnIndex(Model_Account.State_id))); 
       modelobj.setAddrss_line2(cursor.getString(cursor.getColumnIndex(Model_Account.Address_line2))); 
       modelobj.setAddrss_line3(cursor.getString(cursor.getColumnIndex(Model_Account.Address_line3))); 
       modelobj.setLandline2(cursor.getString(cursor.getColumnIndex(Model_Account.Landline2))); 
       listobj.add(modelobj); 

      } 
      while (cursor.moveToNext()); 
     } 


     return listobj; 


    } 

Вот код, где я пытаюсь преобразовать в JSONObject:

listobj = account_sf_db.list(); 
    Gson gson1=new Gson(); 
    String s=gson1.toJson(listobj); 

подвожу как этот

[{"AddressLine1":"purasai","AddressLine2":"otteri","AddressLine3":"t nagar","CompanyGroup":"yogangroups","CompanyName":"yogan inc","IsIndividual":1,"IsMulitLocation":1,"LandLine1":"landline1","LandLine2":"Landline2","PinCode":"pincode","WebSiteContactEmailID":"vbbb","WebsiteURL":"ghb","company_name_id":68,"AccountManagerID":185,"CityID":165,"IndustryID":4,"RegionID":24,"StateID":129}] 

Но я должен получить так:

{"AccountName":"Example"} 

ответ

0

@Yog Вместо того, чтобы поставлять listobj (который представляет собой список объектов, построенных Model_Account в контуре управления курсором) gson1, возможно, вы хотите предоставить отдельный объект Model_Account. Я не знаю, поставляя, какой объект Model_Account будет соответствовать требованиям вашего приложения. Возможно, вам нужно сузить свой SQL-запрос, чтобы получить только тот уникальный объект Model_Account, который вы хотите преобразовать в формат JSON.

Смежные вопросы