Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Gson - при парсинге null object? / 10 сообщений из 10, страница 1 из 1
28.08.2012, 15:58:46
    #37933822
_webdev_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Gson - при парсинге null object?
Здравств,
Подскажите, почему не получается нормально распарсить json.

Вот такой вот json приходит на сервер 1 или больше строк.

Код: java
1.
2.
3.
4.
{
"H5":{"coord":"H5","datavalue":"dd","datatype":"t","formula":"","valuetype":"t","displaystring":"dd"},
"H6":{"coord":"H6","datavalue":222,"datatype":"v","formula":"","valuetype":"n","displaystring":"222"}
}




Вот так пробую парсить, причем если пройтись по br и вытащить оттуда объект, то поличит вот тот самый json что я написал выше.
ТОисть br не пустой!

Код: java
1.
2.
3.
  BufferedReader br = request.getReader();
  Gson gson = new Gson();
  JsonObject jsonObject = (JsonObject)gson.fromJson(br, JsonObject.class);



И вот так выглядит мой JsonObject.
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
public class JsonObject {

 private String coord;
 private int datavalue;
 private String datatype;
 private String formula;
 private String valuetype;
 private String displaystring;
 
}



Я вот не могу понять, что делается если приходит например 1000 json элементов?
Куда эти объекты сохраняются? Или мне самому стоит это определить?
Вот здесь смотрел примеры, но что-то или пропустил или не так..

http://www.mkyong.com/java/how-do-convert-java-object-to-from-json-format-gson-api/
http://java.dzone.com/articles/how-post-and-get-json-between

Спасиб за помощь!
...
Рейтинг: 0 / 0
28.08.2012, 16:08:02
    #37933854
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Gson - при парсинге null object?
Меня смущает "datavalue":"dd" private int datavalue;
Эт раз,
Ниче не понял что у вас в итоге не получается и в чем требуется конкретно помощь эт два
...
Рейтинг: 0 / 0
28.08.2012, 16:13:23
    #37933872
_webdev_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Gson - при парсинге null object?
забыл никМеня смущает "datavalue":"dd" private int datavalue; - ах да, правильно подмечено, там должны быть только int результаты, я по ошибке отправил в datavalue string.

забыл никНиче не понял что у вас в итоге не получается и в чем требуется конкретно помощь эт два - в итоге у меня jsonObject получает все свойства по нулям.
...
Рейтинг: 0 / 0
28.08.2012, 16:16:11
    #37933879
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Gson - при парсинге null object?
у вас приезжает объект со свойствами H5 и H6, а вы почему-то сразу пытаетесь внутренние подобъекты получить.
...
Рейтинг: 0 / 0
28.08.2012, 16:17:13
    #37933883
_webdev_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Gson - при парсинге null object?
Или если конкретней, то что мне дописать, написать, исправить, чтоб распарсить json-объект из BufferedReader в свой объект или в просто в Object?
...
Рейтинг: 0 / 0
28.08.2012, 16:18:47
    #37933891
_webdev_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Gson - при парсинге null object?
Blazkowiczу вас приезжает объект со свойствами H5 и H6, а вы почему-то сразу пытаетесь внутренние подобъекты получить. - это понимаю, но не знаю как правильно эти объекты парсить, в том и вопрос.
Спасибо.
...
Рейтинг: 0 / 0
28.08.2012, 16:25:46
    #37933917
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Gson - при парсинге null object?
https://sites.google.com/site/gson/gson-user-guide#TOC-Serializing-and-Deserializing-Collection-with-Objects-of-Arbitrary-Types Option 1: Use Gson's parser API (low-level streaming parser or the DOM parser JsonParser) to parse the array elements and then use Gson.fromJson() on each of the array elements.This is the preferred approach. Here is an example that demonstrates how to do this.
Option 2: Register a type adapter for Collection.class that looks at each of the array members and maps them to appropriate objects. The disadvantage of this approach is that it will screw up deserialization of other collection types in Gson.
Option 3: Register a type adapter for MyCollectionMemberType and use fromJson with Collection<MyCollectionMemberType>
This approach is practical only if the array appears as a top-level element or if you can change the field type holding the collection


или вот ещё пример
http://stackoverflow.com/questions/2779251/convert-json-to-hashmap-using-gson-in-java
обрабатываем верхний объект в стиле DOM/SAX парсера. А внутрений серализацией. Результат складываем в HashMap
...
Рейтинг: 0 / 0
28.08.2012, 16:29:17
    #37933932
J2SE
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Gson - при парсинге null object?
_webdev_,

в первой ссылке есть ответ

авторI know two solutions:

a) Instantiate the object

Код: java
1.
2.
ArrayList doList=new ArrayList;
doList=gson.fromJson(theString, doList.class);


But I don’t like it too much as instatiating has a cost

b) create your list class:

First create a class for the list

public class DataObjects extends ArrayList {}

And then use this class:

Код: java
1.
2.
DataObjects objects;
objects=gson.fromJson (theString, DataObjects.class);


I think this method makes clearer code and it’s useful if you new more methods in the collection (like search or classification functionalities)
...
Рейтинг: 0 / 0
28.08.2012, 16:58:16
    #37934025
_webdev_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Gson - при парсинге null object?
Приблизительно понятно, сейчас буду пробовать.
А что делать если названия объектов динамические?
тоисть
{
H3{},
H33{},
S4{},
.......
}
...
Рейтинг: 0 / 0
28.08.2012, 17:06:32
    #37934045
_webdev_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Gson - при парсинге null object?
Всем спасибо, все прекрасно парсится в HashMap, и не нужно своей структуры.!
Думаю вопрос решен!
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Gson - при парсинге null object? / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]