【问题标题】:Add JSON data to MySQL database将 JSON 数据添加到 MySQL 数据库
【发布时间】:2017-07-14 03:48:33
【问题描述】:

我正在开发一个 Grails 音乐会应用程序,我正在使用 AngularJS 从 bandintown.com 获取实际事件。

 $.getJSON("http://api.bandsintown.com/events/search.json?&api_version=2.0&app_id=FYP&location=Dublin,Ireland", function(result) 

我能够检索事件,现在我想将每个事件转换为一个对象并将它们添加到我的数据库中,这样我就可以为每个事件创建一个唯一的页面,其中包含它们的后续详细信息等等。

有没有人可以指导我如何做这样的事情?

谢谢!

【问题讨论】:

  • 似乎是一个广泛的问题。
  • 似乎与以下内容重复:stackoverflow.com/questions/35041851/…
  • 使用 JSON.stringify(result); 并将此字符串插入数据库中的相应列。阅读时使用 JSON.parse(jsonstring):
  • @Mistalis 我在编写查询时确实认识到了这一点。经过大约一个小时的研究,我发现有很多信息。所以我决定把我的问题剥离到最基本的形式,然后像我一样问。
  • 欢迎来到 SO。当你写一个问题时,如果你展示一个数据示例和你想要的结果,这很有帮助。请edit您的问题这样做。顺便说一句,我猜您检索到的 JSON 对象包含多个事件的集合,并且您希望将每个事件插入到表的自己的行中。您需要编写代码来执行此操作——迭代事件。或者,您可以将 JSON 对象视为文本字符串,然后将其放入表格的列中。但在这种情况下祝你好运。

标签: mysql angularjs json database grails


【解决方案1】:

我不久前写了一些东西作为插件,它可以帮助你了解你需要做什么:

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类可以在src找到

连接并取回 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

【讨论】:

    猜你喜欢
    • 2017-01-15
    • 2020-09-06
    • 1970-01-01
    • 2014-11-11
    • 1970-01-01
    • 2020-11-15
    • 2017-07-14
    • 1970-01-01
    相关资源
    最近更新 更多