gson-plugin 작별 JSon 데이터 형식 일치 하지 않 음(1)

목록
1.gson-plugin 작별 JSon 데이터 형식 일치 하지 않 음(1)2.gson-plugin 기초 소스 분석(2)3.gson-plugin 깊이 소스 분석(3)4.gson-plugin 이 JitPack 에서 어떻게 발표 되 는 지(4)
이 네 편의 글 을 보고 Gson 해석 에 대해 더욱 깊 은 인식 을 가지 게 될 것 입 니 다.안 드 로 이 드 의 컴 파일 절차 에 대해 더욱 깊 은 인식 을 가지 게 될 것 입 니 다.안 드 로 이 드 플러그 인 플러그 인 을 쓰 는 것 은 물론 자바 바이트 코드 를 수정 하 는 작은 의미 로 오픈 소스 프로젝트 so easy 를 발표 합 니 다!
프로젝트 주소
프로젝트 주소:github-gson-plugin
3.gson-plugin
Android-JSon 분석 플러그 인 을 강화 하여 Android-JSon 분석 데이터 형식 변환 이상 을 해결 하고 Gson 라 이브 러 리 사용 에 영향 을 주지 않 습 니 다.
탄생 배경
1.안 드 로 이 드 의 주요 개발 언어 는 자바 로 강 한 데이터 유형 언어 에 속 하 며 많은 회사 의 백 스테이지 개발 은 PHP 로 약 한 데이터 유형 에 속 하 는 언어 를 사용한다.2.클 라 이언 트 와 서버 가 데이터 전송 을 하 는 과정 에서 특정한 필드 의 데이터 형식 이 일치 하지 않 아 클 라 이언 트 gson 분석 에 실패 하여 전체 페이지 의 데 이 터 를 보 여줄 수 없습니다.
기능 설명
1.한 필드 의 분석 이 실 패 했 을 때 이 필드 를 건 너 뛰 어 다른 필드 를 계속 분석 하여 다른 정상 적 인 데 이 터 를 보 여줄 수 있 도록 합 니 다.2.특정한 필드 의 분석 이 실 패 했 을 때 관찰자 모드 를 통 해 이상 을 던 집 니 다.개발 자 는 이상 을 받 은 후에 해당 하 는 처 리 를 할 수 있 습 니 다(예 를 들 어 이상 로 그 를 서버 에 업로드 한 다음 에 서버 RD 해결 을 추진 합 니 다).3.Gson 라 이브 러 리 사용 에 영향 을 주지 않 습 니 다.
원리 설명
컴 파일 프로 세 스에 침입 하여 컴 파일 과정 에서 gson 라 이브 러 리 의 바이트 코드 를 수정 하고 gson 해석 과 관련 된 방법 을 수정 하 며 데이터 형식 이 일치 하지 않 을 때 현재 필드 의 해석 을 건 너 뜁 니 다.
7.접속 문서
gson-plugin 접속 문서 1.프로젝트 루트 디 렉 터 리 에 repository 추가
buildscript {
    repositories {
        maven { url 'https://jitpack.io' }
    }
}
allprojects {
    repositories {
        maven { url 'https://jitpack.io' }
    }
}

2.프로젝트 루트 디 렉 터 리 build.gradle 가입 ClassPath
dependencies {
 classpath 'com.github.LianjiaTech:gson-plugin:2.0.1'
}

3.프로젝트 앱 디 렉 터 리 build.gradle 가입 의존
apply plugin: 'com.ke.gson.plugin'

4.호출 을 선택 할 수 있 습 니 다(이상 json 필드 감청,받 은 후 서버 에 보고 하 는 것 을 권장 합 니 다)
ReaderTools.setListener(new ReaderTools.JsonSyntaxErrorListener() {
  @Override
 public void onJsonSyntaxError(String exception, String invokeStack) {
    //upload error info to server
 Log.e("test", "json syntax exception: " + exception);
 Log.e("test", "json syntax invokeStack: " + invokeStack);
 }
});

5.혼동 keep 추가
-keep class com.google.gson.** { *; }
-keep class com.ke.gson.** { *; }

좋은 웹페이지 즐겨찾기