将JSON数据添加到MySQL数据库
我正在开发一个Grails concert应用程序,使用AngularJS从bandsintown.com获取实际事件将JSON数据添加到MySQL数据库,mysql,angularjs,json,database,grails,Mysql,Angularjs,Json,Database,Grails,我正在开发一个Grails concert应用程序,使用AngularJS从bandsintown.com获取实际事件 $.getJSON("http://api.bandsintown.com/events/search.json?&api_version=2.0&app_id=FYP&location=Dublin,Ireland", function(result) 我可以检索事件,现在我想将每个事件转换为一个对象,并将它们添加到我的数据库中,这样我就可以为每
$.getJSON("http://api.bandsintown.com/events/search.json?&api_version=2.0&app_id=FYP&location=Dublin,Ireland", function(result)
我可以检索事件,现在我想将每个事件转换为一个对象,并将它们添加到我的数据库中,这样我就可以为每个事件创建一个唯一的页面,其中包含后续的详细信息等等
有人能为我提供如何做这件事的指导吗
谢谢大家! 我不久前写了一篇插件,它可以帮助你了解需要做什么:
private String viewTicketField(String jiraserver, String jirauser,String jirapass, String url, String customField) {
if (url.endsWith('undefined')) {
return
}
String output=''
try {
HBuilder hBuilder=new HBuilder()
RESTClient http = hBuilder.httpConn(jiraserver, jirauser, jirapass,httpConnTimeOut,httpSockTimeOut)
http.request(Method.GET ) { req ->
uri.path = url
response.success = { resp, json ->
log.info "Process URL Success! ${resp.status} "
def result=JSON.parse(json.toString())
if (result.fields."customfield_${customField}") {
output=result.fields."customfield_${customField}"
}
}
response.failure = { resp ->
log.error "Process URL failed with status ${resp.status}"
}
}
}
catch (HttpResponseException e) {
log.error "Failed error: $e.statusCode"
}
return output
}
HBuilder类可在中找到
连接并返回JSON响应后,解析每一行
您可以创建一个新的域类
String url
String datetime
String app_id
String ticket_url
。。。因此,这是上面url中的一个完整条目,所以对于您实际需要的每个键,将其作为字符串放入域类中,然后用上面的代码解析每个迭代
{"id":13926481,"url":"http://www.bandsintown.com/event/13926481?app_id=FYP","datetime":"2017-02-23T17:00:00","ticket_url":"http://www.bandsintown.com/event/13926481/buy_tickets?app_id=FYP\u0026came_from=233","artists":[{"name":"Rackhouse Pilfer","url":"http://www.bandsintown.com/RackhousePilfer","mbid":null}],"venue":{"id":3334537,"url":"http://www.bandsintown.com/venue/3334537","name":"Convention Centre","city":"Dublin","region":"07","country":"Ireland","latitude":53.3500292,"longitude":-6.2385286},"ticket_status":"unavailable","on_sale_datetime":null
似乎是一个宽泛的问题。似乎是重复的:使用
JSON.stringify(result)
并将此字符串插入数据库中相应的列中。在读取时使用JSON.parse(jsonstring):
@Mistalis我在编写查询时确实意识到了这一点。经过大约一个小时的研究,我发现有很多信息。所以我决定把我的问题简化成最基本的形式,然后像我一样提问。欢迎来到这里。当你写一个问题时,如果你展示一个数据示例和你想要的结果,这会很有帮助。请回答你的问题。顺便说一下,我猜您检索到的JSON对象包含多个事件的集合,并且您希望将每个事件插入表中它自己的行中。您需要编写代码来实现这一点——对事件进行迭代。或者,您可以将JSON对象视为文本字符串,并将其放入表的一列中。但在这种情况下,祝你好运。