在Play Framework中使用FlexJSON 2.1时,如何使用自定义订单?现在我有:
public String toJsonString() {
// Include id & name, exclude all others.
JSONSerializer ser = new JSONSerializer().include(
"id",
"firstName",
"lastName",
"email",
"authToken",
"dob",
"home_zip",
"gender",
).exclude("*").prettyPrint(true);
return ser.serialize(this);
}
它按字母顺序打印出来。
我发现了this SO帖子,但我没有定义为@XMLRootElement的任何类。 如何告诉FlexJSON使用自定义排序?
答案 0 :(得分:2)
订单仅来自数据结构本身。使用订单的数据结构(即List,TreeSet,TreeMap)将具有订单。无法保证对象或HashMap顺序中的字段。最重要的是,除了自然顺序之外,没有明确强加于其他事物的命令。如果需要,您可以尝试覆盖默认的序列化变形金刚以强加顺序。您可以从继承ObjectTransformer和MapTransformer开始,并尝试强制执行订单。
订购JSON数据结构似乎很奇怪,因为javascript中的对象中的字段也没有订单。我无法想象为什么这样做很重要。