Насколько я понимаю, сериализатор Newtonsoft берет объект с переменными-членами и выводит строку json, которая представляет этот объект.
Так что вы можете сделать что-то вроде:
Product product = new Product();
product.Name = "Apple";
product.Expiry = new DateTime(2008, 12, 28);
product.Price = 3.99M;
product.Sizes = new string[] { "Small", "Medium", "Large" };
string output = JsonConvert.SerializeObject(product);
И вы получите строку вывода вроде:
{"Name": "Apple",
"Expiry": "\/Date(1230375600000+1300)\/",
"Price": 3.99,
"Sizes": ["Small", "Medium", "Large"]
}
Теперь плохая новость заключается в том, что используемая вами библиотека BlackBerry не использует рефлексию для проверки структуры объектов, которые она сериализует. Это форматтер, а не сериализатор.
Хорошая новость заключается в том, что им довольно легко пользоваться. Документация здесь:
http://www.blackberry.com/developers/docs/6.0.0api/org/json/me/package-summary.html
Короче говоря, чтобы написать объект, такой как приведенный выше, вы должны сделать что-то вроде:
myString = new JSONStringer()
.object()
.key("Name")
.value("Apple")
.key("Expiry")
.value("Date("+myDate.getTime()+")")
.endObject()
.toString();
.. и так далее. Обратите внимание, что вы строите элемент структуры JSON по элементам, вместо того, чтобы библиотека JSON предполагала, что ваш объект является точной структурой данных, которые вы хотите вывести.
Надеюсь, это даст вам представление о том, как действовать.