json lib.jar 사용 방법
json-lib.jar 개발 패키지는 다음을 사용합니다:
종속성 패키지:
commons-beanutils.jar;
commons-mons- lang.jar;
ezmorph.jar; 사용할 때 net.sf.ezmorph.xxx를 찾을 수 없다는 메시지가 표시됩니다.
morph-1.0 .1. jar
사용 중 문제:
1. Bean을 json 형식으로 변환할 때 항상 다음 오류가 나타납니다.
스레드 "main"에서 예외가 발생합니다. net.sf .json.JSONException: java.lang.NoSuchMethodException: 'name' 속성에 getter 메소드가 없습니다.
해결 방법: Bean을 공용 클래스 xxx로 선언하십시오. 이는 기본값을 사용하더라도 공용이어야 합니다. 유형(클래스 xxx)
2, 스레드 "main"의 예외 java.lang.NoSuchMethodError: org.apache.commons.lang.ArrayUtils.toObject([C)[Ljava/lang/Character; p>
원인: 속성을 다음과 같이 정의하십시오: private char[] options = new char[] { 'a', 'f' }; 이 유형은 처리할 수 없는 것 같습니다.
3, private String func1 = "function(i) { return this.options[i]; }";
및
private JSONFunction func2 = new JSONFunction(new String[] { "i " },
"return this.options[i];");
변환 후 결과는 비슷합니다:
{"func1": function( i){ return this.options[i] ;, "func2": function(i){ return this.options[i] }}
테스트 클래스:
import java; .util.ArrayList;
java.util.HashMap 가져오기
java.util.List 가져오기
java.util.Map 가져오기; >
net.sf.json .JSONArray 가져오기
net.sf.json.JSONObject 가져오기
public class Json {
public static void main(String[] args) {
p>
Json j = new Json()
j.bean2json()
}
공개 무효 arr2json() {
boolean[] boolArray = new boolean[] { true, false, true }
JSONArray jsonArray = JSONArray.fromObject(boolArray)
System.out.println(jsonArray);
// [true, false, true] 인쇄
}
public void list2json() {
List list = new ArrayList ();
list.add("첫 번째");
list.add("두 번째")
JSONArray jsonArray = JSONArray.fromObject(list );
System.out.println(jsonArray);
// ["첫 번째", "두 번째"] 인쇄
}
public void createJson() {
JSONArray jsonArray = JSONArray.fromObject("['json', 'is', 'easy']")
System.out. println(jsonArray);
// ["json", "is", "easy"] 인쇄
}
public void map2json() {
지도
map.put("name", "json")
map.put("bool", Boolean.TRUE); >
map.put("int", new Integer(1));
map.put("arr", new String[] { "a", "b" })
map.put("func", "function(i){ return this.arr[i]; }")
JSONObject json = JSONObject.fromObject(map); /p>
System.out.println(json);
// 인쇄
// ["name": "json", "bool": true, " int": 1, "arr": ["a", "b"], "func": function(i){
// return this.arr[i]; }]
}
public void bean2json() {
JSONObject jsonObject = JSONObject.fromObject(new MyBean())
System.out.println(jsonObject)
}
public void json2bean() {
String json = "{name=\"json2\", func1: true, pojoId: 1, func2: function(a){ return a ; }, 옵션: ['1', '2']}";
JSONObject jb = JSONObject.fromString(json);
JSONObject.toBean(jb, MyBean.class );
System.out.println()
}
}