Java-PLIST-сериализатору
java-plist-serializer — это проект с открытым исходным кодом, размещенный на Github, который помогает развивать связь между Java-приложением и iOS-приложением.
- не зависит от какой-либо библиотеки, связанной с XML
 - настраиваемый вывод благодаря стратегиям @PlistIgnore , @PlistAlias и Naming
 - Потокобезопасный — может использоваться как синглтон в проекте
 - расширяемый — можно легко добавлять обработчики для дополнительных объектов
 - Интеграция Spring Framework, предоставляемая PlistView
 
использование
Сердцем библиотеки является PlistSerializerImpl . Чтобы сериализовать объекты в plist, вы должны создать экземпляр PlistSerializerImpl и вызвать один из методов сериализации. Например:
Входные классы:
| 
 01 
02 
03 
04 
05 
06 
07 
08 
09 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
 | 
public class Post {    private String title;    private Integer views = 0;    private List<Comment> comments = new ArrayList<Comment>();    private Author author;    public Post(Author author, String title, Integer views) {        this.title = title;        this.views = views;        this.author = author;    }}public class Comment {    private String content;    private String author;    public Comment(String author, String content) {        this.content = content;        this.author = author;    }}public class Author {    private String name;} | 
 Объекты этих классов создаются и plistSerializer.toXmlPlist метод plistSerializer.toXmlPlist 
| 
 1 
2 
3 
4 
5 
6 
 | 
Post post = new Post(new Author("jason bourne"), "java-plist-serializer introduction", 9);post.addComment(new Comment("maciejwalkowiak", "first comment"));post.addComment(new Comment("john doe", "second comment"));PlistSerializerImpl plistSerializer = new PlistSerializerImpl();String xml = plistSerializer.toXmlPlist(post); | 
  Переменная xml будет содержать: 
| 
 01 
02 
03 
04 
05 
06 
07 
08 
09 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
 | 
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0">    <dict>        <key>author</key>        <dict>            <key>name</key>            <string>jason bourne</string>        </dict>        <key>comments</key>        <array>            <dict>                <key>author</key>                <string>maciejwalkowiak</string>                <key>content</key>                <string>first comment</string>            </dict>            <dict>                <key>author</key>                <string>john doe</string>                <key>content</key>                <string>second comment</string>            </dict>        </array>        <key>title</key>        <string>java-plist-serializer introduction</string>        <key>views</key>        <integer>9</integer>    </dict></plist> | 
Интеграция Spring Framework
Чтобы вернуть plist в качестве ответа контроллера Spring MVC, вы можете использовать PlistView, который расширяет AbstractView .
Существует несколько способов настройки Spring MVC. Самый простой для понимания пример использования PlistView:
| 
 01 
02 
03 
04 
05 
06 
07 
08 
09 
10 
11 
12 
13 
14 
 | 
@Controllerpublic class BlogController {    @RequestMapping(value = "/loadBlogPost", method = RequestMethod.GET)    public ModelAndView loadBlogPost() {        Post post = new Post(new Author("jason bourne"), "java-plist-serializer introduction", 9);        post.addComment(new Comment("maciejwalkowiak", "first comment"));        post.addComment(new Comment("john doe", "second comment"));        ModelMap model = new ModelMap();        model.addAttribute("RESULT", notification);        return new ModelAndView(new PlistView(), model);    }} | 
Более подробную документацию можно найти на странице проекта github.
Вывод
Не стесняйтесь раскошелиться, вытянуть. Если вы обнаружите какие-либо проблемы, пожалуйста, сообщите о них на github.
Ссылка: Java говорит с iOS: Java-объекты для сериализации Apple plist от нашего партнера JCG Мачея Уоковяка в блоге « Путь к разработке программного обеспечения» .