在Grails中有没有一种从远程服务器获取JSON数据集的简单方法?

在Grails中有没有一种从远程服务器获取JSON数据集的简单方法?,grails,groovy,json,Grails,Groovy,Json,在Grails中有没有一种从远程服务器获取JSON数据集的简单方法 e、 g.http://example.com/data.json 数据: Groovy代码示例(理论): 我相信你应该能够做到: import grails.converters.* ... def data = JSON.parse( new URL( 'http://example.com/data.json' ).text ) println data.firstName 您可以使用,它允许您在json中执行RES

在Grails中有没有一种从远程服务器获取JSON数据集的简单方法

e、 g.
http://example.com/data.json

数据:

Groovy代码示例(理论):


我相信你应该能够做到:

import grails.converters.*

...

def data = JSON.parse( new URL( 'http://example.com/data.json' ).text )
println data.firstName
您可以使用,它允许您在json中执行REST请求,并允许您处理所有不同的响应类型。它很容易使用

例如:

import groovyx.net.http.HTTPBuilder
import groovyx.net.http.ResponseParseException
import net.sf.json.JSONException
import static groovyx.net.http.ContentType.JSON
import static groovyx.net.http.Method.GET

...
      def restMethod() {
        try {
          def http = new HTTPBuilder("http://www.example.com")
          def path = "/exampleService/info"

          http.request(Method.POST, JSON) {req ->
            uri.path = path
            contentType = 'application/json; charset=UTF-8'
            body = "{\"arg1\":\"value4Arg1\"}"

            response.success = {resp, json ->
                // do something with the json response
            }

            response.failure = {resp ->
              // return some error code
            }
          }
        } catch (JSONException jsonException) {
          // do something with the exception
        } catch (ResponseParseException parseException) {
          // do something with the exception
        } catch (Exception e) {
         // do something with the exception
        }
      }

它支持JSONP吗?跨域AJAX请求在大多数环境中都是被禁止的(出于安全原因;XSS是web上最大的问题)。@难以捉摸这是服务器端的,所以我不确定JSONP/XSS是否相关。Hi@Maricel,你能添加一个使用grails REST插件的示例吗?我正在尝试使用它,并在SSLSocketFactory.java:543上获得内部_错误。另外,您使用的是contentType和body变量吗?谢谢tim-真是太简单了,不是吗!我会试一试,然后再打给你:-)
import grails.converters.*

...

def data = JSON.parse( new URL( 'http://example.com/data.json' ).text )
println data.firstName
import groovyx.net.http.HTTPBuilder
import groovyx.net.http.ResponseParseException
import net.sf.json.JSONException
import static groovyx.net.http.ContentType.JSON
import static groovyx.net.http.Method.GET

...
      def restMethod() {
        try {
          def http = new HTTPBuilder("http://www.example.com")
          def path = "/exampleService/info"

          http.request(Method.POST, JSON) {req ->
            uri.path = path
            contentType = 'application/json; charset=UTF-8'
            body = "{\"arg1\":\"value4Arg1\"}"

            response.success = {resp, json ->
                // do something with the json response
            }

            response.failure = {resp ->
              // return some error code
            }
          }
        } catch (JSONException jsonException) {
          // do something with the exception
        } catch (ResponseParseException parseException) {
          // do something with the exception
        } catch (Exception e) {
         // do something with the exception
        }
      }