سؤال

أحاول حفظ البيانات المكسورة باستخدام استخراج بيانات JSON من LITTS وحفظها في قاعدة البيانات (عبر MAPPER) ولكن لا يمكنني العثور على مكان توصيل SNIPPIT بـ MAPPER. الرمز يشبه هذا.

هنا هو مختلط اختبار.

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]

}

وهنا نموذج عينة.

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]

لقد بحثت من خلال نسخة الطباعة الخاصة بي من الكتاب ، والكتاب الإلكتروني المحدث ، ومجموعة Google دون جدوى. أنا فقط أبحث عن بعض المساعدة أو ربما مثال رمز لأوجهني في الاتجاه الصحيح.

هل كانت مفيدة؟

المحلول

يمكنك إنشاء مثيلات من فئة مصممة باستخدام Object.create ، استخدم طرق تطبيق الكائنات "لتعيين قيم المثيل ، ثم تستمر عن طريق استدعاء Save.

قل أنك تريد تعيين هذه القيم:

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

تريد بعد ذلك حفظ النموذج في قاعدة البيانات.

نظرًا لأنه يمكنك سلسلة من مكالمات الوظائف ، يمكنك القيام بذلك بإيجاز للغاية:

// Create the instance
var newDone = newDone.create

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

// Persist it
newDone.save

لذلك ، بمجرد تحليل بيانات JSON الخاصة بك ، يمكنك استخدام التنسيق أعلاه لاستمراره في قاعدة البيانات الخاصة بك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top