2016-09-08 2 views
0

실패그루비 변환 JSON 내가 XML로 JSON 변환하는 코드를 다음 한

import grails.converters.JSON 
import grails.transaction.Transactional 
import org.json.JSONObject 
import org.json.XML 

@Transactional 
class JsonService { 

    def convertJsonToXml(String json) { 
     JSONObject o = JSON.parse(json) 
     return XML.toString(o) 
    } 

} 

이 코드는 익명의 배열과 jsons의 제외하고 잘 작동합니다. 예를 들어 :

[ 
    { 
    "cnt":1, 
    "name":"American", 
    "pk":7 
    }, 
    { 
    "cnt":2, 
    "name":"Celebrities", 
    "pk":3 
    }, 
    { 
    "cnt":1, 
    "name":"Female", 
    "pk":2 
    } 
] 

나는이 결과를 얻을 : { "빈"거짓}

가 어떻게이 문제를 방지 할 수 있습니다?

답변

1

라이브러리를 다음과 같이 혼합합니다. 지금은 org.codehaus.groovy.grails.web.json.JSONElement 객체를 생성하는 grails.converters.JSON을 통해 json 문자열을 파싱합니다. 다음

당신이

그냥 org.json.JSONTokener를 통해 문자열을 구문 분석 org.json.XML

를 통해 XML로 변환하도록하는 org.json.JSONObject에이 결과를 맞게, 변수를 만들려고 노력 "o"동적 (JSONObject 또는 JSONArray 보유) :

import org.json.JSONObject 
import org.json.JSONTokener 
import org.json.XML 

def convertJsonToXml(String json) { 
    def o = new JSONTokener(json).nextValue() 
    return XML.toString(o) 
} 
관련 문제