Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> конертировать JSONObject в Map 
:(
    Опции темы
maxxi
Дата 23.11.2012, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 22.4.2007

Репутация: нет
Всего: нет



Здравствуйте, уважаемые участнии форума! 

у меня такой вопрос - 

есть некий JSONObject  :
Код

[{id:"123", name:"A"},{id:"456",name:"B"},{id:"789",name:"C"}]



Как конвертировать его в Map<String,String>, кот. выглядит так: 
<123, A> 
<456, B> 
<789, C> ? 

Cпасибо за ответы
PM MAIL   Вверх
Atum
Дата 24.11.2012, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 265
Регистрация: 3.10.2008

Репутация: нет
Всего: нет



берешь lib - http://www.json.org/java/ 

твой объект json -  это JSONArray  - 

 получаешь его size 

и в цикле берешь get ( i ) - получаешь JSONObject  - который имеет ключ значение - id и name

у него есть метод get( key ) -  который тебе возвращает значение -name 

записываешь эти значения в hashmap -это путь чтобы разобраться - а так можно и быстрее все сделать .   

UPD : добавил код 

Код

package org.json;

import java.util.HashMap;

/**
 *
 * @author User
 */
public class NewClass {
    
    public static void main(String [] args) throws JSONException{
        HashMap<String,String> map = new HashMap<String, String>();
        String str = "[{id:\"123\", name:\"A\"},{id:\"456\",name:\"B\"},{id:\"789\",name:\"C\"}]";
        JSONArray array = new JSONArray(str);
        int length = array.length();
        for (int i =0; i<length;i++) {
        
            JSONObject cm = (JSONObject) array.get(i);
         //JSONObject cm = array.getJSONObject(i);
            String name = cm.getString( "name" );
            String id = cm.getString( "id" );
            System.out.println(id + " " + name);
            map.put(id, name);
        }
    
        System.out.println(map.keySet());
        System.out.println(map.values());
    
    }
    
}


Это сообщение отредактировал(а) Atum - 24.11.2012, 16:11
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0539 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.