Запись объектов массива json из базы данных - PullRequest
0 голосов
/ 07 января 2019

Я хочу следующий тип вложенного массива JSON в Java. Пожалуйста, помогите мне с этим. здесь мой составной первичный ключ - db_key & parent_key

{
    "Message": "Successfully done",
    "statuscode ": 200,
    "employeeList ": [
        "R.0030238.001": [{
                "last_changed_date": "2018-10-31 22:41:48.0",
                "allocation_end_date": "2018-10-31",
                "project_id": "R.0030238.001",
                "allocation_start_date": "2018-10-01",
                "parent_key": "005056B09B381ED8B6A1DD79951F40CB",
                "db_key": "005056AC0ABA1ED8B2AE6E73DFFF80D1",
                "username": "VIJAYK11",
                "emp_id": "127454"
            },
            {
                "last_changed_date": "2018-10-31 19:14:26.0",
                "allocation_end_date": "2018-10-31",
                "project_id": "R.0030238.001",
                "allocation_start_date": "2018-10-01",
                "parent_key": "005056AC0DB01ED8B1A267DE3CCAA0CF",
                "db_key": "005056AC0DB01ED8B1A267DE3CCA80CF",

            "username": "KISHORD4",
            "emp_id": "129208"
        },
        {
            "last_changed_date": "2018-10-31 18:50:23.0",
            "allocation_end_date": "2018-12-31",
            "project_id": "R.0030238.001",
            "allocation_start_date": "2018-10-01",
            "parent_key": "005056AC0DB01ED8B1A267DE3CCBA0CF",
            "db_key": "005056AC0DB01ED8B1A267DE3CCB80CF",
            "username": "VARSHAM2",
            "emp_id": "133079"
        },
        {
            "last_changed_date": "2018-10-31 19:07:48.0",
            "allocation_end_date": "2018-12-31",
            "project_id": "R.0030238.001",
            "allocation_start_date": "2018-10-01",
            "parent_key": "005056AC0DB01ED8B1A267DE3CCCA0CF",
            "db_key": "005056AC0DB01ED8B1A267DE3CCC80CF",
            "username": "DEEPAKR3",
            "emp_id": "122874"
        },
        {
            "last_changed_date": "2018-10-31 19:11:18.0",
            "allocation_end_date": "2018-10-31",
            "project_id": "R.0030238.001",
            "allocation_start_date": "2018-10-01",
            "parent_key": "005056AC0DB01ED8B1A267DE3CCDA0CF",
            "db_key": "005056AC0DB01ED8B1A267DE3CCD80CF",

            "username": "ROYO",
            "emp_id": "127003"
        },
        {
            "last_changed_date": "2018-10-31 22:44:06.0",
            "allocation_end_date": "2018-12-31",
            "project_id": "R.0030238.001",
            "allocation_start_date": "2018-12-01",
            "parent_key": "005056B09B381ED8B79F6701675900CC",
            "db_key": "005056B09B381ED8B79F52D90FA5E0CC",
            "username": "ABHIJEETB4",
            "emp_id": "126933"
        },
        {
            "last_changed_date": "2018-10-31 22:45:12.0",
            "allocation_end_date": "2018-12-30",
            "project_id": "R.0030238.001",
            "allocation_start_date": "2018-10-31",
            "parent_key": "005056B09B381ED8B79F5F791EE140CC",
            "db_key": "005056B09B381ED8B79F5F791EE120CC",
            "username": "MAHESHA2",
            "emp_id": "120049"
        },
        {
            "last_changed_date": "2018-10-31 22:45:12.0",
            "allocation_end_date": "2018-12-30",
            "project_id": "R.0030238.001",
            "allocation_start_date": "2018-10-31",
            "parent_key": "005056B09B381ED8B79F6701675900CC",
            "db_key": "005056B09B381ED8B79F5F791EE120CC",
            "username": "MOHIK",
            "emp_id": "139365"
        }
    ]


    "R.0030238.002": [{
        "last_changed_date": "2018-10-31 22:45:12.0",
        "allocation_end_date": "2018-12-30",
        "project_id": "R.0030238.002",
        "allocation_start_date": "2018-10-31",
        "parent_key": "005056B09B381ED8B79F6701675900CD",
        "db_key": "005056B09B381ED8B79F5F791EE120CC",
        "username": "MOHIK",
        "emp_id": "139365"
    }]

    "R.0030238.003": [{
        "last_changed_date": "2018-10-31 22:45:12.0",
        "allocation_end_date": "2018-12-26",
        "project_id": "R.0030238.003",
        "allocation_start_date": "2018-10-31",
        "parent_key": "005056B09B381ED8B79F6701675900CF",
        "db_key": "005056B09B381ED8B79F5F791EE120CC",
        "username": "MOHIK",
        "emp_id": "139365"
    }]
]

}

Ответы [ 2 ]

0 голосов
/ 11 января 2019

Я пробовал. Но я получаю последнюю запись. Не все записи согласно project_id.

            for(int i=0;i<ja.length();i++){
                String proj_id = ja.getJSONObject(i).getString("project_id");

                Set<Object> sets = new HashSet<>(); 
                if (!(sets.contains(proj_id))) {
                   sets.add(proj_id);                       
                }                   

                Iterator<Object> itr=sets.iterator();  

                while(itr.hasNext())  {                                 
                    JSONArray jarr=new JSONArray();
                     for (int j=0;j<sets.size();j++) {
                         System.out.println("i="+i);
                         System.out.println("j="+j);

                        List emplist=empservice.getEmpByProjId(proj_id);
                        JSONObject finalobj=new JSONObject();           

                        finalobj.put("project_id", proj_id);  
                        finalobj.put("emp-proj", emplist);
                        jarr.put(finalobj);

                        itr.next();
                      } 
                    jsonObject.put("data", jarr);
                    System.out.println("list of jarr obj : "+jarr);         
                }

            }                                                                                       //for
0 голосов
/ 07 января 2019

Я не пробовал, но таким образом вы можете попытаться преобразовать данные JSON в Java

import com.google.gson.Gson; 
import com.google.gson.GsonBuilder;  

class GsonData { 
       private String Message; 
       private String statuscode; 
    private ArrayList<ArrayList<Map<String,String>>> employeelist;
     //setters and getters and to string 
    }

    public class GsonMaker { 
       public static void main(String[] args) { 
          String jsonString = your above gson string; 


          GsonData gs = new Gson().fromJson(jsonString, GsonData.class);
         System.out.println(gs.Message); 

       } 
    } 

В противном случае вы можете использовать org.json для доступа к данным, подобным этому

JSONObject js=new JSONObject("yourjsonstring"); 

и соответственно получает дополнительные атрибуты

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...