결과 JSON 문자열 : ['foo', 'bar', 'baz']
. 어떻게하면 String[]
또는 JsArrayString
으로 변환 할 수 있습니까? 내가 사용할 수있는 사전 정의 된 데이터 구조가 불가능하다면? 나는 간단한 문자열 배열을 위해 중복되기 때문에 내 자신의 클래스를 만들고 싶지 않다. 당신의 문자열이 유효한 자바 스크립트 배열 표현이기 때문에GWT. JSON 문자열을 String []으로 변환
3
A
답변
3
, 당신은 자바 스크립트 배열을 얻을 수 unsafeEval
를 사용할 수 있습니다 물론
JsArrayString a = JsonUtils.unsafeEval("['foo', 'bar', 'baz']");
당신이 unsafeEval
에 임의의 문자열을 전달하면 보안 문제를 알고 있어야합니다.
그렇지 않으면 문자열이 유효한 JSON 표현한다면 당신은 더 안전하는 대신 safeEval
을 사용할 수 있습니다 당신은 자바 코드에서 쉽게 JsArrayString
처리 할 수
JsArrayString j = JsonUtils.safeEval("[\"foo\", \"bar\", \"baz\"]");
,하지만 당신은 java.lang.String[]
를 선호하는 경우이 필요 이와 같은 몇 가지 추가 코드를 작성하십시오 (jscollections 라이브러리에서 가져옴). 프로덕션 모드에서 변환은 성능 저하를 추가하지 않습니다.
public static String[] toArray(JsArrayString values) {
if (GWT.isScript()) {
return reinterpretCast(values);
} else {
int length = values.length();
String[] ret = new String[length];
for (int i = 0, l = length; i < l; i++) {
ret[i] = values.get(i);
}
return ret;
}
}
private static native String[] reinterpretCast(JsArrayString value) /*-{
return value;
}-*/;
마지막으로 당신은뿐만 아니라 java.util.List<String>
를 사용할 수 있지만 몇 가지 성능 문제가있을 수 있습니다.
List<String> l = Arrays.asList(s)
0
GWT 실제로 com.google.gwt.json.clint
패키지에 JSON 작업을위한 클래스를 내장하고있다. 당신이 당신의 gwt.xml 파일에
<inherits name="com.google.gwt.json.JSON" />
를 추가해야합니다.
JSONArray array = JSONParser.parseLenient("['foo', 'bar', 'baz']").isArray();
String[] resultArray = String[array.size()];
for(int i = 0; i < array.size(); i++)
resultArray[i] = array.get(i).isString().stringValue();
관련 문제
- 1. JSONArray를 String []으로 변환 하시겠습니까?
- 2. json 문자열을 객체로 변환
- 3. JSON 문자열을 JSON 객체로 변환
- 4. 지도를 Json String 형식으로 변환
- 5. json 인코딩 된 문자열을 [값, 값], [값, 값]으로 변환
- 6. C++ 문자열을 .NET String ^으로 변환하려면 어떻게해야합니까?
- 7. JSON 문자열을 JSON으로 변환
- 8. JSON 응답 문자열을 문자열로 변환
- 9. java.util.stream.Stream을 <String>으로 java.io.Reader로 변환
- 10. Get-ChildItem 출력을 string []으로 변환
- 11. REST 및 JSON - 문자열을 JSON 배열로 변환
- 12. txt 파일을 사전 <string, string>으로 변환
- 13. JSON 문자열을 C#으로 구문 분석
- 14. C# 문자열을 DateTime (AM : PM)으로 변환
- 15. json 문자열을 jquery 객체로 변환
- 16. JSON 문자열을 C#으로 역 직렬화
- 17. String [] []을 String []으로 변환합니다.
- 18. 표현식의 유형 'Void'를 'String!'으로 변환 할 수 없습니다.
- 19. AngularJs : json 문자열을 html로 변환
- 20. JSON 문자열을 MVC의 JsonResult로 변환
- 21. Java에서 json 문자열을 배열로 변환
- 22. 동적 문자열을 JSON 객체로 변환
- 23. JSON 문자열을 C# JsonObject로 변환
- 24. JavaScript에서 문자열을 JSON 텍스트로 변환
- 25. JS 문자열을 JSON 객체로 변환
- 26. json 문자열을 텍스트 편집기로 변환
- 27. 어떻게 "char"를 "std :: string"으로 변환 할 수 있습니까?
- 28. 시간이없는 C#으로 문자열을 datetime으로 변환
- 29. 문자열을 json 객체로 변환합니다.
- 30. vb.net 문자열을 Json 객체로 변환 하시겠습니까?
GWT에는 JSON을 처리하기위한 메소드와 클래스가 내장되어 있으므로 JS를 가져올 이유가 없습니다. – Marconius
넵 나는 그것을 알고 있으며 나는 그 시간 전에 그것을 사용했다. GWT-JSON 객체는 내부적으로 jsni를 사용하여 문자열을 파싱하고 오버레이 클래스 대신 많은 Java 클래스를 생성합니다. 실제로 요즘 GWT의 경향은 구형 GWT-JSON보다 훨씬 나은 자동 실행을 사용하여 json을 java-beans에 매핑하는 것입니다. 어쨌든 사용자가 문자열을 JsArrayString 또는 String으로 변환하는 것에 대해 묻는 것이고 그것은 내 응답입니다. –