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();
}