如何保持scala和Json4s中元素的顺序
我在Scala中使用JSON4S以JSON格式获取POJO类的toString(),如下所示如何保持scala和Json4s中元素的顺序,scala,json4s,Scala,Json4s,我在Scala中使用JSON4S以JSON格式获取POJO类的toString(),如下所示 //JSON related libraries import org.json4s.{DefaultFormats, Formats} //JSON handling support from Scalatra import org.scalatra.json._ // JSON library for converting the POJO toString as Json import org
//JSON related libraries
import org.json4s.{DefaultFormats, Formats}
//JSON handling support from Scalatra
import org.scalatra.json._
// JSON library for converting the POJO toString as Json
import org.json4s.native.Json
class Customer(val id:Int, var firstName:String, var lastName:String) {
println("Customer - Constructor BEGIN .... ")
def this(firstName:String, lastName:String) {
this(Customer.inc, firstName, lastName)
}
//override def toString = s"Customer [Id=$id, FirstName=$firstName, LastName=$lastName]"
override def toString = Json(DefaultFormats).write(this)
println("Customer - Constructor END .... ")
}
然而,当我用一个实例来测试时,元素的顺序被扭曲如下
{
"firstName": "Raghavan",
"id": 1,
"lastName": "Muthu"
}
我真正想要的是
{
"id": 1,
"firstName": "Raghavan",
"lastName": "Muthu"
}
我怎样才能做到这一点 你为什么想要这个@ars,我认为,如果Id放在第一位,并且两个名称都在JSON输出中,那么会更合适、更合理。“一个(JSON)对象是一组无序的名称/值对”--它是来自JSON规范的引用。@ars,谢谢。我明白了。我只是在想,有没有一种简单的方法可以在JSON4S中实现这一点,就像我们在GSON中使用LinkedHashMap时所做的那样。