Разбор JSON-объекта в Android - PullRequest
3 голосов
/ 18 января 2012

У меня есть объект JSON следующим образом:

[
    {
        "Project": {
            "id": "1",
            "project_name": "name"
        },
        "AllocationDetail": [
            {
                "id": "1",
                "project_id": "1",
                "team_name": "ror",
                "week_percentage_work": "50",
                "in_today": "1",
                "actual_hours": "30",
                "remaining_hours": "100",
                "time_difference": null,
                "created": "2012-01-13 15:48:33",
                "modified": "2012-01-13 15:48:33"
            },
            {
                "id": "2",
                "project_id": "1",
                "team_name": "php",
                "week_percentage_work": "40",
                "in_today": "2",
                "actual_hours": "50",
                "remaining_hours": "100",
                "time_difference": null,
                "created": "2012-01-13 15:49:40",
                "modified": "2012-01-13 15:49:40"
            }
        ]
    }
]

Я хочу проанализировать данные в Android и сохранить их в БД, но я запутался в Jsonobject спасибо

Ответы [ 5 ]

3 голосов
/ 18 января 2012

лучший JSON Tutorial Я видел, я провел разбор json из этого урока, надеюсь, он поможет

1 голос
/ 11 января 2013
String response = <Your JSON String>; // add your Json String here
response = response.replace("[","").replace("]",""); // Just remove all square braces
JSONObject json = new JSONObject(response); //Convert the Json into Json Object
JSONObject jProject = json.getJSONObject("Project"); // get your project object
String  project_id = jProject.getString("id"); // Get the value of Id
String  project_name = jProject.getString("project_name"); // get the value of Project_name

Приведенный выше код можно использовать много раз, если вы хотите проанализировать Json. Я знаю, что слишком поздно, но это может помочь многим людям, которые пытаются найти тот же ответ. Я пытался найти то же решение, но было слишком сложно использовать ответ «Принято» из-за слишком большого количества строк кода, но я получил те же результаты с едва ли несколькими строками кода.

1 голос
/ 18 января 2012

Ниже приведен фрагмент кода для анализа вашей строки json. Пожалуйста, пройдите через это:

    String response = <Your JSON String>;
            String Project = null;
            String AllocationDetail = null;
            try {
                JSONArray menuObject = new JSONArray(response);
                 for (int i = 0; i< menuObject.length(); i++) {
                        Project     =   menuObject.getJSONObject(i).getString("Project").toString();
                        System.out.println("Project="+Project);
                        AllocationDetail    =   menuObject.getJSONObject(i).getString("AllocationDetail").toString();
                        System.out.println("AllocationDetail="+AllocationDetail);
                 }
                 JSONObject jsonObject  =   new JSONObject(Project);
                 String id = jsonObject.getString("id");
                 System.out.println("id="+id);
                 String project_name = jsonObject.getString("project_name");
                 System.out.println("project_name="+project_name);

                 JSONArray jArray = new JSONArray(AllocationDetail);
                 for (int i = 0; i< jArray.length(); i++) {
                     String team_name       =   jArray.getJSONObject(i).getString("team_name").toString();
                     System.out.println("team_name="+team_name);
                     String week_percentage_work        =   jArray.getJSONObject(i).getString("week_percentage_work").toString();
                     System.out.println("week_percentage_work="+week_percentage_work);
                 }
            } catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
1 голос
/ 18 января 2012

Используйте jsonlint.com, чтобы лучше прочитать ваш json.Похоже, что json, который вы скопировали здесь, недействителен.

1 голос
/ 18 января 2012

Есть два способа анализа JSON

Когда ваш контент JSON слишком сложный и достаточно длинный, вы можете предпочесть использовать GSON, его гораздо проще поддерживать, чем JSON-разбор каждого значения вручную.

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