Разбор данных с использованием org.json - PullRequest
0 голосов
/ 09 октября 2011

(Пожалуйста, имейте в виду, что я совершенно новичок в Java и Android)

Пройдя пару тестов, я вижу, что тривиально легко сделать вызов веб-службы в Android, чтобы получить результаты и использовать некоторые из них.простой пользовательский код получить значение.

Например:

Assuming a response string as such: {"d":"Hello World"}

JSONObject obj = new JSONObject(responseString);
String result = obj.getString("d");
//Result = Hello World

Отлично!Это позволяет достаточно легко получать данные, используя некоторый пользовательский код.Однако этот метод становится менее тривиальным, если вы начнете использовать более сложные данные, например, массив, содержащий пользовательский класс.Исходя из .NET, я привык отмечать класс как сериализуемый и быстро иметь возможность сериализации и десериализации класса.

Например,

public class Movie 
{
    public Movie() {}
    public String Title { get; set; }
    blah... blah...
}

public class MovieList : List<Movie> { }

public static void Serialize(String path, MovieList movieList)
{
    XmlSerializer serializer = new XmlSerializer(typeof(MovieList));

    using (StreamWriter streamWriter = new StreamWriter(path))
    {
       serializer.Serialize(streamWriter, movieList);
    }
}

public static MovieList Deserialize(String path)
{
    XmlSerializer serializer = new XmlSerializer(typeof(MovieList));
    using (StreamReader streamReader = new StreamReader(path))
    {
        return (MovieList) serializer.Deserialize(streamReader);
    }
}

Я понимаю, что это XMLно вы понимаете мою точку зрения ... В любом случае, мне просто интересно, есть ли лучший способ выполнить мою цель, чем завершить пользовательский код, используя пространство имен org.json?

1 Ответ

0 голосов
/ 09 октября 2011

ОК, теперь, когда у нас есть язык ...: -)

В сериале на основе JSON нет ничего встроенного в Android.Тем не менее, существуют сторонние библиотеки JSON, которые могут сделать это, такие как Jackson и GSON .Однако те, которые используют аннотации, могут столкнуться с некоторыми трудностями с Android.

...