json String을 Map으로 바꾸기

2023. 6. 28. 11:28JAVA

import java.lang.reflect.Type;
import java.util.Map;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

        // dbMap에서 JSON 문자열 추출
        String jsonString = (String) dbMap.get("1");
        
        // JSON 문자열을 맵으로 변환
        Gson gson = new Gson();
        Type type = new TypeToken<Map<String, Object>>() {}.getType();
        Map<String, Object> resultMap = gson.fromJson(jsonString, type);
        // finalResult의 value 추출
        String finalResultValue = (String) resultMap.get("value");
        System.out.println(finalResultValue);

 

dbMap = {0={"type":"ready","sessionId":"f86c2965cb7145f39a84eb5792cd9a7fdb96f35d"}
, 1={"type":"finalResult","value":"안녕","durationMS":3140,"x-metering-count":3,"nBest":[{"value":"안녕","resultInfo":null,"score":71},{"value":"운영","resultInfo":null,"score":0},{"value":"운명","resultInfo":null,"score":0},{"value":"문명","resultInfo":null,"score":0},{"value":"1명","resultInfo":null,"score":0},{"value":"연명","resultInfo":null,"score":0},{"value":"안경","resultInfo":null,"score":0},{"value":"유명","resultInfo":null,"score":0},{"value":"임명","resultInfo":null,"score":0}],"voiceProfile":{"authenticated":false},"gender":0}, 2={"type":"endLongRecognition","value":"ELR"}}

 

jsonString = {"type":"finalResult","value":"안녕","durationMS":3140,"x-metering-count":3,"nBest":[{"value":"안녕","resultInfo":null,"score":71},{"value":"운영","resultInfo":null,"score":0},{"value":"운명","resultInfo":null,"score":0},{"value":"문명","resultInfo":null,"score":0},{"value":"1명","resultInfo":null,"score":0},{"value":"연명","resultInfo":null,"score":0},{"value":"안경","resultInfo":null,"score":0},{"value":"유명","resultInfo":null,"score":0},{"value":"임명","resultInfo":null,"score":0}],"voiceProfile":{"authenticated":false},"gender":0}

 

resultMap = {type=finalResult, value=안녕, durationMS=3140.0, x-metering-count=3.0, nBest=[{value=안녕, resultInfo=null, score=71.0}, {value=운영, resultInfo=null, score=0.0}, {value=운명, resultInfo=null, score=0.0}, {value=문명, resultInfo=null, score=0.0}, {value=1명, resultInfo=null, score=0.0}, {value=연명, resultInfo=null, score=0.0}, {value=안경, resultInfo=null, score=0.0}, {value=유명, resultInfo=null, score=0.0}, {value=임명, resultInfo=null, score=0.0}], voiceProfile={authenticated=false}, gender=0.0}

 

finalResultValue = 안녕