2015-05-17 2 views
1

Мои данные JSON приведен ниже:Android Ошибка синтаксического анализа JSON

[ 
    {"Category_Id":"C1 ","Category_Name":"breakfast"}, 
    {"Category_Id":"C2 ","Category_Name":"appetizers & snacks"}, 
    {"Category_Id":"C3 ","Category_Name":"sandwiches & more"}, 
    {"Category_Id":"C4 ","Category_Name":"burgers & wraps"}, 
    {"Category_Id":"C5 ","Category_Name":"salads"}, 
    {"Category_Id":"C6 ","Category_Name":"soup"}, 
    {"Category_Id":"C7 ","Category_Name":"pizza & pasta"}, 
    {"Category_Id":"C8 ","Category_Name":"kids menu"}, 
    {"Category_Id":"C9 ","Category_Name":"main dishes"}, 
    {"Category_Id":"C10 ","Category_Name":"oriental cuisine"}, 
    {"Category_Id":"C11 ","Category_Name":"desserts"}, 
    {"Category_Id":"C12 ","Category_Name":"shakes & smoothies"}, 
    {"Category_Id":"C13 ","Category_Name":"drinks"}, 
    {"Category_Id":"C14","Category_Name":"333"} 
] 

, как я мог разобрать эти данные и установить текст в кнопке динамически.

+0

сколько вы пробовали ?. отправьте код. – Bharatesh

+0

В этом случае у вас есть JSONArray, поэтому вам нужно проанализировать эту строку в JSONArray (Not JSONObject). Затем начните синтаксический анализ из JSONArray ... Ну, я написал весь код ниже в своем ответе, вы можете видеть. Надеюсь, это помогло вам –

+0

Можете ли вы разместить свой код, где вы разбираете json – Pankaj

ответ

0
String str ="[{\"Category_Id\":\"C1 \",\"Category_Name\":\"breakfast\"},{\"Category_Id\":\"C2 \",\"Category_Name\":\"appetizers & snacks\"},{\"Category_Id\":\"C3 \",\"Category_Name\":\"sandwiches & more\"},{\"Category_Id\":\"C4 \",\"Category_Name\":\"burgers & wraps\"},{\"Category_Id\":\"C5 \",\"Category_Name\":\"salads\"},{\"Category_Id\":\"C6 \",\"Category_Name\":\"soup\"},{\"Category_Id\":\"C7 \",\"Category_Name\":\"pizza & pasta\"},{\"Category_Id\":\"C8 \",\"Category_Name\":\"kids menu\"},{\"Category_Id\":\"C9 \",\"Category_Name\":\"main dishes\"},{\"Category_Id\":\"C10 \",\"Category_Name\":\"oriental cuisine\"},{\"Category_Id\":\"C11 \",\"Category_Name\":\"desserts\"},{\"Category_Id\":\"C12 \",\"Category_Name\":\"shakes & smoothies\"},{\"Category_Id\":\"C13 \",\"Category_Name\":\"drinks\"},{\"Category_Id\":\"C14\",\"Category_Name\":\"333\"}]"; 
     JSONArray jarray; 
     try{ 
      jarray = new JSONArray(""); 
      for(int i = 0; i < jarray.length(); i++) 
      { 
       String id = jarray.getJSONObject(i).getString("Category_Id"); 
       String name = jarray.getJSONObject(i).getString("Category_Name"); 
      } 
     }catch(Exception e){} 
0

Если вы получаете сообщение об ошибке синтаксического анализатора JSon просто проверить, правильно ли или не проверив его в Интернете в любом JSon сайте синтаксического анализа, как ваша строка JSON: -

http://jsonlint.com/

ИЛИ

http://jsonviewer.stack.hu/

+0

После проверки, если ваша ошибка парсера json означает, что проблема на вашем конце. – Pankaj

+0

Строка json правильная, но JSON находится в формате Array, поэтому вам нужно проанализировать ее в JSONArray, а не в JSONObject. Это может быть проблемой для него –

+0

Ya, если возможно, изменить массив JSON на объект JSON, добавив массив JSON к любому объекту в {...} – RBK

0

Для этого все, что вам нужно сделать, это цикл for, чтобы пройти через ответ Json. Что-то вроде этого должно сделать трюк.

JSONArray jsonArray; 
    try{ 
     jsonArray = new JSONArray(myJsonResponse); 
     for(int i = 0; i < jsonArray.length(); i++) 
     { 

JsonObject object = new JsonObject(jsonArray.getJsonObject(i)); 
      buttonTextString = object.getString("Category_Name); 
     } 
    } catch(Exception e) {} 
0

Вы можете разобрать JSONArray до этого разобрать JSONObject разобрать каждый элемент на данных JSON. И окончательный setText для кнопки на каждом элементе вы можете разобрать

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