JSON은 구문 분석 패키지를 구문 분석 --xml

JSON 구문 분석 패키지 (GSON 구글, fastJson 알리, jacksonSpring 내장)

http 프로토콜 + JSON 형식을 사용하여 모바일 엔드 (안드로이드, IOS) 통신은 편안한 스타일을 이동합니다.
많은 프로젝트 인터넷 프로토콜 HTTP를 JSON + 사용하는
XML 무거운 WebService에 서비스를

JSON 무엇입니까

XML이 상대적으로 복잡한 구문 분석하기 때문에 JSON (JavaScript Object Notation)은이 데이터 교환 형식의 XML에 비해 경량 데이터 교환 형식이지만, 코드의 큰 덩어리를 작성해야하므로 클라이언트와 서버 데이터 교환 포맷 JSON에서 자주 교환된다.

JSON : 자바 스크립트 객체 표기법 (자바 스크립트 객체 표기법).

JSON 같이 중괄호 "{}"둘러싸인 목록 항목 쉼표 사이의 각각의 항목 (,)로 구분하고, 프로젝트 콜론을 사용하는 것이다 (:) 속성 이름 및 값을 분리. 이것은 또한, 자바 스크립트 객체 사전에 다시 구조 표시 사전의 일반적인 표현이다. 아무리 복잡한 객체은 만들어지지와 JSON 코드를 할당 할 수 있습니다. JSON에서, 이름 / 값 쌍은, 값 콜론 뒤에 필드 (큰 따옴표) 이름, 쓰기 등

JSON은 두 개의 구조를 가지고

JSON은 단순히 복잡한 구조 수도 이들 두 구조들의 목적 및 두 구조로 표시되는 두 개의 구조 배열이며, 자바 스크립트 객체 및 배열이다
"} {"개체 JS로 표현된다 : (1) 상기 개체 밀폐 된 콘텐츠 데이터 구조 {키 값을 키 값 , ...} 이것은 쉽게 이해되는 주요 구조, 객체 지향 언어 오브젝트의 핵심 특성에 상응하는 특성 값의 값 있도록 객체의 속성 값을지고의 가치 .KEY 방법은 속성 값의 유형은 숫자, 문자열, 배열, 여러 개체 수 있습니다.
2 어레이로서 배열은 JS 브래킷에 "[]"동봉 컨텐츠의 인덱스를 이용하여, 데이터 구조 [ "자바", "스크립트" , "VB", ...], 동일한 방식으로 값을 모든 언어 숫자, 문자열, 배열, 여러 개체 수 있습니다 필드 값의 유형을 가져옵니다.
오브젝트 후 구조물 두 종류의 배열은 복잡한 데이터 구조로 결합 될 수있다.

fastJSON-API


공공 정적 최종 개체 구문 분석 (문자열 텍스트 ); //이 JSON이나 된 JSONObject JSONArray와 텍스트 분석
된 JSONObject의 parseObject (문자열 텍스트) 최종 공용 static; //이 JSON 된 JSONObject로 텍스트를 구문 분석
공공 정적 최종의 T의 parseObject (문자열 텍스트, 클래스 clazz에) ; // 자바 빈즈에 대한 JSON 텍스트 분석
공공 정적 최종 JSONArray parseArray (문자열 텍스트); // JSONArray에 JSON 텍스트 분석
공공 정적 최종 목록 parseArray (문자열 텍스트, 클래스 clazz에를); //의 자바 빈즈 모음에 JSON 텍스트를 구문 분석
공개 정적 최종 문자열 toJSONString (Object 객체) ; // 시퀀스 자바 빈즈에 JSON 텍스트
공공 정적 최종 문자열 toJSONString (Object 객체 , 부울 prettyFormat); // JSON 텍스트 형식으로 자바 빈즈 순서
공공 정적 최종 개체 toJSON를 (객체 JAVAOBJECT는) 자바 빈즈가 된 JSONObject 또는 JSONArray로 변환.

JSON 구문 분석, 패키지

// 패키지 JSON


		User user=new User();
		user.setId(1);
		user.setName("明");
		List<Item> list=new ArrayList<Item>();
		Item item=new Item();
		item.setEmailAddress("[email protected]");
		item.setHomeAddress("成都");
		list.add(item);
		user.setItem(list);
		System.out.println("封裝json"+new JSONObject().toJSONString(user));
		//解析json
		String str="{\"id\":1,\"item\":[{\"emailAddress\":\"[email protected]\",\"homeAddress\":\"成都\"}],\"name\":\"明\"}";
		JSONObject jsonObject = new JSONObject();
		JSONObject parseObject = jsonObject.parseObject(str);
		Integer id = parseObject.getInteger("id");
		String name = parseObject.getString("name");
		JSONArray jsonArray = parseObject.getJSONArray("item");
		System.out.println(id+"===="+name);
		for(Object obj:jsonArray) {
			JSONObject obj2 =(JSONObject) obj;
			String emailAddress = obj2.getString("emailAddress");
			String homeAddress = obj2.getString("homeAddress");
			System.out.println(emailAddress+"----"+homeAddress);
		}

XML 파싱

XML은 무엇인가?
그것은 확장 마크 업 언어 (확장 마크 업 언어, 축약 된 XML), 그것은 마크 업 언어입니다.
XML 확장 마크 업 언어의 전체 이름. 데이터 및 대부분의 구성 파일로 사용됩니다.
: XML 문서는 논리적으로 약 5 부분으로 구성
XML 선언을 : 사용되는 XML 버전, 코딩 정보 문서의 독립성, 문서를 나타냅니다
지적 DTD XML 문서 사용 : 문서 유형 선언
요소 : 시작 태그, 요소의 내용과 종료 태그 구성
참고 : 단부에서의 역할에 대한 설명은이 문서의 콘텐츠
처리 방법 : 비 XML 형식을 처리함으로써 상기 명령 데이터를 처리하는 다른 애플리케이션을 통보의 포맷
  은 XML 문서의 루트 엘리먼트는 문서 요소라고 및 상기 문서의 하위 개체로 등 그 외측에 나타나는 지시 코멘트, 처리, 루트 요소 자체와 하위 요소는 그 트리의 내부이다.


@Test
public void testXML() throws IOException, DocumentException {
	SAXReader saxReader=new SAXReader();
	Document read = saxReader.read(new File("D:\\Eclipse\\WorkSpace\\mavendemo\\src\\main\\resources\\student.xml"));
	Element rootElement = read.getRootElement();
	gitNodes(rootElement);
}
private void gitNodes(Element rootElement) {
	System.out.println("节点名称"+rootElement.getName());
	@SuppressWarnings("unchecked")
	List<Attribute> attributes = rootElement.attributes();
	for(Attribute as:attributes){
		System.out.println("属性"+as.getName()+"---"+"属性值"+as.getText());
	}
	if(!rootElement.equals("")){
		System.out.println("标签属性"+rootElement.getName()+"---"+"标签内容"+rootElement.getText());
	}
	// 使用迭代器遍历
			Iterator<Element> elementIterator = rootElement.elementIterator();
			while (elementIterator.hasNext()) {
				Element next = elementIterator.next();
				gitNodes(next);
			}
}

XML 모드를 구문 분석?

DOM4J, 색소폰, 풀

DOM4J 및 색스 차이

파일이 메모리에로드되면, 그래서 메모리 오버 플로우가있을 수 있습니다 그것을이기 때문에, 대용량 파일을 구문 분석에 적합하지 DOM4J, 색소폰은 그가 XML 큰 파일을 구문 분석 할 수 있도록 XML을 구문 분석 이벤트를 기반으로, 그것은 또한 이 때문에, 너무 강한가요 색소폰의 XML DOM4J가요 CRUD 네비게이션 가능한 것이 아니라, 그래서 종종 XML 파일의 동작에 큰 XML 파일을 파싱하는 데, 몇몇가요 성 (침전물)을 SAX DOM4J와.

게시 26 개 원래 기사 · 원의 칭찬 0 · 조회수 700

추천

출처blog.csdn.net/YHM_MM/article/details/103965414