根据我的理解,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库假定您的对象是您希望输出的数据的确切结构.
希望这会让你知道如何继续.