如何保持scala和Json4s中元素的顺序

如何保持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

我在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.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时所做的那样。