Domanda

Sto cercando di salvare i dati parced con l'estrazione di dati JSON Ascensori e salvarlo nel database (via mapper), ma non riesco a trovare dove collegare lo snippit al mapper. Il codice simile a questo.

Ecco uno snippit prova.

package com.testjson.snippet

import dispatch._
import net.liftweb.json.JsonParser._
import java.io.{ByteArrayOutputStream}
import com.testjson.model.Done

class HelloWorld {
def howdy = <span>Welcome to hello-lift at {new _root_.java.util.Date}</span>
val http = new Http
val bos = new ByteArrayOutputStream
val myRequest = new Request("http://testing.com/folder/file.json")
val rawdata = http(myRequest >>> bos)
val bs = bos.toString

val json = parse(bs)

implicit val formats = net.liftweb.json.DefaultFormats

case class One(sample1: String, sample2: String, sample3: String)
case class Two(samplea: String, sampleb: String, samplec: String, sampled: String)
case class Three(alpha: Int, beta: Int, charlie: String, delta: String)
case class Done(notice: List[One], header: List[Two], data: List[Three])

json.extract[Done]

}

E qui un esempio del modello.

package com.testjson.model

import net.liftweb.http.SHtml
import net.liftweb.common._
import net.liftweb.mapper._


class Done extends LongKeyedMapper[Done] with IdPK {

def getSingleton = Done

object sample1 extends MappedPoliteString(this, 12)
object sample2 extends MappedPoliteString(this, 12)
object sample3 extends MappedPoliteString(this, 56)
object samplea extends MappedPoliteString(this, 12)
object sampleb extends MappedPoliteString(this, 12)
object samplec extends MappedPoliteString(this, 56)
object alpha extends MappedPoliteString(this, 56)
object beta extends MappedInt(this)
object charlie extends MappedInt(this)
object delta extends MappedPoliteString(this, 56)

}

object Done extends Done with LongKeyedMetaMapper[Done]

Ho guardato attraverso la mia copia stampata del libro, l'ebook aggiornato, e il gruppo di Google senza alcun risultato. Sto solo cercando un aiuto o forse un esempio di codice per puntare nella direzione giusta di me.

È stato utile?

Soluzione

È possibile creare istanze di una classe modellati utilizzando Object.create, utilizzare il applicare i metodi della classe oggetti per impostare i valori dell'istanza, quindi persistono chiamando Salva.

Di 'si voleva impostare questi valori:

  sample1: "Fishsticks"
  sample2: "InYour"
  sample3: "Mouth"

È quindi desidera salvare il modello al database.

Dato che è possibile chiamate di funzione a catena, si può fare questo molto succintamente:

// Create the instance
var newDone = newDone.create

// Set it's instance variables
newDone.sample1("Fishsticks").sample2("InYour").sample3("Mouth")

// Persist it
newDone.save

Quindi, una volta che hai analizzato i dati JSON, è possibile utilizzare utilizzare il formato sopra a persistere nella vostra base di dati.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top