메뉴 건너뛰기

Cloudera, BigData, Semantic IoT, Hadoop, NoSQL

Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.


MongoDB의 json데이타를 GSON을 이용하여 parsing할때 아래와 같은 오류가 발생할 수 있는데 이는 ObjectId값이 String이 아닌 Object(클래스 형태)로 인식이 되어 발생하는 문제이다.

그래서 GSON 파싱할때 사용되는 클래스를 생성할때 {"_time":1480579094,"_machine":-1422354433,"_inc":-987106123,"_new":false}를 담을 수 있는 class를 생성하고 이 클래스를 멤버 변수로 가지고 있는 클래스를 만들어서 지정해주면 해결된다.


--------------오류 메세지--------------------

com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected a string but was BEGIN_OBJECT at line 1 column 9
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:176)
        at com.google.gson.Gson.fromJson(Gson.java:803)
        at com.google.gson.Gson.fromJson(Gson.java:768)
        at com.google.gson.Gson.fromJson(Gson.java:717)
        at com.google.gson.Gson.fromJson(Gson.java:689)
        at com.gooper.icbms.sda.sf.TripleService.getTriple(TripleService.java:64)
        at com.gooper.icbms.sda.kafka.onem2m.AvroOneM2MDataSubscribe$ConsumerT.run(AvroOneM2MDataSubscribe.java:135)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalStateException: Expected a string but was BEGIN_OBJECT at line 1 column 9
        at com.google.gson.stream.JsonReader.nextString(JsonReader.java:821)
        at com.google.gson.internal.bind.TypeAdapters$13.read(TypeAdapters.java:358)
        at com.google.gson.internal.bind.TypeAdapters$13.read(TypeAdapters.java:346)
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:93)
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:172)
        ... 9 more

번호 제목 날짜 조회 수
361 impala테이블 쿼리시 max_row_size 관련 오류가 발생할때 조치사항 2020.02.12 464
360 spark notebook 0.7.0설치및 설정 2016.11.14 464
359 Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.http.HttpConfig.getSchemePrefix()Ljava/lang/String; 해결->실패 2015.06.14 462
358 producer / consumer구현시 설정 옵션 설명 2016.10.19 461
357 Hbase API를 이용하여 scan시 페이징을 고려하여 목록을 가져올때 사용할 수 있는 로직의 예시를 보여줌 2017.04.26 460
356 DB별 JDBC 드라이버 2015.10.02 460
355 linux에서 특정 포트를 사용하는 프로세스 확인하기 2017.04.26 457
354 특정문자열이나 URI를 임의로 select 절에 지정하여 사용할때 사용하는 sparql 문장 2016.08.25 457
353 Ubuntu 16.04 LTS에서 사이트에 무료인증서를 이용하여 SSL적용 file 2017.05.23 456
352 tablet별 disk사용량 확인하는 방법 2021.08.27 455
351 Hadoop 완벽 가이드 정리된 링크 2016.04.19 454
350 mybais #과 $의 차이점 2015.11.10 453
349 cassandra cluster 문제가 있는 node제거 하기(DN상태의 노드가 있으면 cassandra cluster 전체에 문제가 발생하므로 반드시 제거할것) 2017.06.21 452
348 Mountable HDFS on CentOS 6.x(hadoop 2.7.2의 nfs기능을 이용) 2016.11.24 451
347 .gitignore파일에 지정되지 않은 파일이 ignore되는 경우 확인방법 2016.11.22 450
346 AIX 7.1에 Hadoop설치(정리중) 2016.09.12 450
345 lagom을 이용한 샘플 경매 프로그램 실행방법 2017.06.20 449
344 데이타 분석및 머신러닝에 도움이 도움이 되는 사이트 2016.11.04 448
343 kerberos설정된 상태의 spooldir->memory->hdfs로 저장하는 과정의 flume agent configuration구성 예시 2019.05.30 446
342 [sap] Error: java.io.IOException: SQLException in nextKeyValue 오류 발생 2020.06.08 443
위로