Question

Je suis en train d'enregistrer des données parced avec l'extraction de données JSON de remontées mécaniques et l'enregistrer dans la base de données (via mappeur) mais je ne peux pas trouver où connecter le snippit au cartographe. Le code ressemble à ceci.

Voici un snippit test.

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]

}

Et ici un modèle d'échantillon.

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]

Je l'ai regardé à travers ma copie imprimée du livre, l'ebook mis à jour, et le groupe Google en vain. Je suis à la recherche d'un peu d'aide ou peut-être un exemple de code pour me diriger dans la bonne direction.

Était-ce utile?

La solution

Vous créez des instances d'une classe Modélisée à l'aide Object.create, utilisez l'application des méthodes de la classe des objets pour définir les valeurs de l'instance, persistent alors en appelant sauvegarde.

Dites que vous avez voulu définir ces valeurs:

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

Vous souhaitez ensuite enregistrer le modèle à la base de données.

Comme vous pouvez les appels de fonction de la chaîne, vous pouvez le faire de façon très succincte:

// Create the instance
var newDone = newDone.create

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

// Persist it
newDone.save

Alors, une fois que vous avez analysé vos données JSON, vous pouvez utiliser le format ci-dessus utiliser pour persister dans votre base de données.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top