0

jsonファイルをオブジェクトに解析してデータベースに保存したいと思います。grailsコンソールで実行するGroovyスクリプトを作成するだけです(コマンド行にgrailsコンソールを入力します)。grailsアプリやドメインクラスは作成しませんでした。この小さなスクリプトの中で、saveを呼び出すと、

groovy.lang.MissingMethodException: No signature of method: Blog.save() 
  is applicable for argument types: () values: []
Possible solutions: wait(), any(), wait(long), isCase(java.lang.Object), 
  sleep(long), any(groovy.lang.Closure)

私は何かが足りないのですか?
また、保存すると、ブログというテーブルにデータが保存されるのでしょうか。ここでデータベース接続を構築する必要がありますか?(私はドメインクラスを取得するので、必要はありません。しかし、純粋なgroovyを使用すると違いますか?)

どうもありがとう!

import grails.converters.*
import org.codehaus.groovy.grails.web.json.*; 

class Blog {
  String title
  String body   
 static mapping = {
   body type:"text"
   attachment type:"text"
}

  Blog(title,body,slug){
    this.title = title
    this.body=body   
  }   
}

ここでjsonを解析します

// parse json
List parsedList =JSON.parse(new FileInputStream("c:/ning-blogs.json"), "UTF-8")

def blogs = parsedList.collect {JSONObject jsonObject ->
    new Blog(jsonObject.get("title"),jsonObject.get("description"),"N/A");
}

ブログをループして各オブジェクトを保存する

for (i in blogs){
    // println i.title; I'll get the information needed.
    i.save();
}
4

1 に答える 1

0

私はgrailsの経験はあまりありませんが、簡単なグーグル検索から、クラスがモデルクラスのように扱われるように思われるため、正しいコンベンションパッケージ/ディレクトリまたは休止状態マッピング/を備えたレガシーjarのいずれかである必要がありますJPA アノテーション。したがって、あなたの例は機能しません。そのモデルをモデル パッケージで定義してみませんか?

于 2013-03-07T17:21:07.473 に答える