2011-01-22 2 views
0

У меня есть строка JSON в нижнем формате, которую я получаю как HTTP-запрос в Java. Мне нужно получить имя и значения строки ниже JSON, но я не могу получить правильное решение.Чтение строки JSON с использованием JSON/Gson

Может ли кто-нибудь сказать мне, как разбирать это? Кроме того, дайте мне знать, если мы сможем отформатировать эту строку, потому что нет никаких имен свойств из 3-х элементов.

Формат струна

{ 

'appname':'application', 
'Version':'0.1.0', 
'UUID':'300V', 
'WWXY':'310W', 
'ABCD':'270B', 
'YUDE':'280T' 

} 

редактировать # 1 отформатирован вопрос.

+0

Какое название собственности у вас отсутствует? Третий элемент - «UUID»: «300V» и выглядит так же, как и все остальные, не так ли? – maaartinus

ответ

0

С каким языком вы хотите это сделать?

Вот решение для PHP:

$data = json_decode('the json'); 
+0

Я хочу сделать это в java – user587092

3

В JavaScript, вы можете сделать что-то вроде

var v = eval("("+data_from_server+")"); 
var aName = v.appname; 

Например, этот сценарий будет оповещать APPNAME.

<script> 
     var serverdata = "{'appname':'application', 'Version':'0.1.0', 'UUID':'300V', 'WWXY':'310W', 'ABCD':'270B', 'YUDE':'280T'}"; 
     var v = eval("("+serverdata+")"); 
     alert(v.appname); 
    </script> 

Основываясь на ваш комментарий на this answer, вот способ для разбора в Java

В Java, вы можете использовать GSon. See here.

Вам необходимо определить класс Java, который сопоставляет объект JSON один-к-одному. Затем попросите GSon создать объект Java с помощью строки JSON. Вот пример.

Ваш класс Java, который отображает JSON должен выглядеть следующим образом

public class MyData{ 
     public String appname; 
     public String Version; 
     public String UUID; 
     public String WWXY; 
     public String ABCD; 
     public String YUDE; 
     public MyData(){} 
    } 

И вы разбираете в Java, как это.

String jsons = "{'appname':'application', 'Version':'0.1.0', 'UUID':'300V', 'WWXY':'310W', 'ABCD':'270B', 'YUDE':'280T'}"; 
    Gson gson = new Gson(); 
    MyData obj = gson.fromJson(jsons, MyData.class); 
    System.out.println("ada "+ obj.appname); 
+0

или JSON.parse(); если он существует :) – arnaud576875

+0

С третьего элемента, то есть «UUID»: «300V», это похоже на список .. где UUID и 300V оба должны быть прочитаны ..... здесь UUID не является именем свойства .... можем ли мы прочитать, что ... возможно ли с этим форматом ... ?? мы не можем сказать v.UUID .. – user587092

+0

@ user576875 - Привет, спасибо. Я никогда не использовал это. @ user585900 - Я тебя не понял, ваш JSON говорит, что это собственность. Если это массив. Пожалуйста, обновите свой вопрос так. Даже если это массив. Его можно прочитать. Кстати, выше, это javaScript, а не Java по вашему запросу. Я обновил вопрос. – Nishant