Перенос Python Dict на Java и JSON - PullRequest
0 голосов
/ 22 июня 2011

Я был приличным программистом на Python. Теперь я вынужден сделать модуль Wowza для моего приложения чата. Приложение, которое будет входить через учетную запись Facebook и статус каждого пользователя, сохраняется на сервере Wowza, который использует Java для разработки приложений, подключенных через Flash-клиент и RTMP. Структура данных о статусе в сети будет такой же в Python.

Пожалуйста, скажите мне, как представить это в Java, я не так знаком с переменной 'Types' в Java: (

x = {
    10001: {
        'status': 0,
        'friends': {}
    },
    10002: {
        'status': 1,
        'friends': {
            10001: 0,
            10003: 1
        }
    },
    10003: {
        'status': 1,
        'friends': {
            10001: 0,
            10003: 1
        }
    }
}

10001,10002 и т. Д. Будут идентификаторы пользователей Facebook, а 0,1 - их статус онлайн / офлайн. Если 10001 подключен, структура данных будет немного изменена, она изменит статус 10001 на 1, добавит все идентификаторы своих друзей, полученные из Facebook, и обновит их статус.

x = {
    10001: {
        'status': 1,
        'friends': {
            10002: 1,
            10003: 1        
        }
    },
    10002: {
        'status': 1,
        'friends': {
            10001: 1,
            10003: 1
        }
    },
    10003: {
        'status': 1,
        'friends': {
            10001: 1,
            10003: 1
        }
    }
}

А если пользователь 10001 отключен, он перейдет на более раннюю стадию. Есть ли способ сохранить его как объект json? или есть какой-нибудь простой способ хранить и извлекать данные?

Ответы [ 3 ]

1 голос
/ 22 июня 2011

Я предполагаю, что под хранением и извлечением вы подразумеваете кеширование в памяти, так что: (1) Создать классы javabean для инкапсуляции данных. Ява HashMap очень похож на словарь Python. Почему бы вам не попытаться написать классы в java, как если бы они были python, обновить ваш вопрос с результатом, и тогда люди могут помочь вам с такими деталями, как дженерики java, которые не имеют реального эквивалента python. (2) Используйте одну из структур отображения JSON Object <->, которая существует для сериализации экземпляров в / из JSON. Гсон и Джексон популярны.

0 голосов
/ 24 июня 2011

Все, что мне было нужно, это http://www.json.org/javadoc/org/json/JSONObject.html библиотека.Я мог бы использовать его без особых затруднений, например, добавив «тип» к каждому объекту, и не могу создать дерево за один шаг, как в python.

0 голосов
/ 22 июня 2011

Это зависит от того, что вы хотите сделать ...
Если вы можете использовать библиотеку json, такую ​​как Google Gson, идеально подходит для управления JSON из Java. тогда, если вы хотите закодировать его самостоятельно и просто управляете целыми числами и строками, это не очень сложно ...
структура Json - это просто массив или ключ / значение карты, где ключ - это String, а Value - это либо простое, либо сложное значение, следовательно, hashmap или массив ...
Во всяком случае, как правило, проще использовать GSon;)

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