本文共 5504 字,大约阅读时间需要 18 分钟。
//{"version":1,"consentId":"b618924f-8a6c-42bc-8553-99e3a8a0fec4","domain":"cd:site15294072534021.com","remoteAddr":"222.78.43.84","rmuid":"99e62b2b-5659-43aa-a15a-89bdd82e0cb4","sid":112,"mid":111,"impressionGuid":"b7275d47-724c-4d4e-bb6e-f819859e143b","impliedConsentGranted":false,"grantedDate":"2056-04-17T13:24:28Z","sourceIds":{"aff_sid":["112"],"attr_sid":["2809"],"np_sid":["1815"]},"gdpr":{"isGlobal":false,"isScope":true,"purposes":[1,4,5],"vendors":[]}}
import java.io.BufferedReader;
import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; import java.util.List; import com.linkshare.Pojo.ConsentLog; import net.sf.json.JSONObject; import net.sf.json.JsonConfig; import net.sf.json.util.CycleDetectionStrategy; public class JsonToObjectUtil { public static void main(String[] args) throws IOException { String projectPath = System.getProperty("user.dir"); String filePath = projectPath + "/json_example.txt"; System.out.println("filePath=" + filePath); BufferedReader br = null; StringBuilder sb = new StringBuilder(); try { File file = new File(filePath); InputStreamReader reader = new InputStreamReader(new FileInputStream(file)); br = new BufferedReader(reader); String line = null; while ((line = br.readLine()) != null) { System.out.println("line=" + line); sb.append(line); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { if (br != null) br.close(); } String log = sb.toString(); //String log = "{\"chinese\":\"88\",\"math\":\"78\",\"computer\":\"99\"}"; System.out.println("consentLog: " + log); String consentId = getImpressionIdFromLogJson(log); System.out.println("main>>>end>>>consentId>>>" + consentId); } public static String getImpressionIdFromLogJson(String jsonStr) { System.out.println("getImpressionIdFromLogJson>>>begin"); String consent_id = "No found consentId"; try { System.out.println("getImpressionIdFromLogJson>>>0"); JsonConfig config = new JsonConfig(); config.setIgnoreDefaultExcludes(false); config.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT); config.setExcludes(new String[]{ "sourceIds" }); JSONObject obj = JSONObject.fromObject(jsonStr, config); System.out.println("getImpressionIdFromLogJson>>>1>>>" + obj.toString()); ConsentLog consentLog = (ConsentLog) JSONObject.toBean(obj, ConsentLog.class); System.out.println("getImpressionIdFromLogJson>>>2"); consent_id = consentLog.getConsentId(); String impression_id = consentLog.getImpressionGuid(); List<String> purposes = consentLog.getGdpr().getPurposes(); String is_scope = consentLog.getGdpr().getIsScope(); String is_global = consentLog.getGdpr().getIsGlobal(); System.out.println("getImpressionIdFromLogJson>>>end>>>impression_id>>>" + impression_id); System.out.println("getImpressionIdFromLogJson>>>end>>>purposes>>>" + purposes.toString()); System.out.println("getImpressionIdFromLogJson>>>end>>>is_scope>>>" + is_scope); System.out.println("getImpressionIdFromLogJson>>>end>>>is_global>>>" + is_global); System.out.println("getImpressionIdFromLogJson>>>3"); System.out.println("getImpressionIdFromLogJson>>>ConsentLog>>>" + consentLog.toString()); System.out.println("getImpressionIdFromLogJson>>>end>>>consent_id>>>" + consent_id); } catch (Exception e) { System.out.println("getImpressionIdFromLogJson>>>" + e.toString()); } return consent_id; }}
JAVA BEAN:
package com.linkshare.Pojo;
import org.codehaus.jackson.annotate.JsonIgnoreProperties;//@JsonIgnoreProperties(ignoreUnknown = true)public class ConsentLog { // ConsentLogger - // *--*{"version":1,"consentId":"b618924f-8a6c-42bc-8553-99e3a8a0fec4","domain":"cd:site15290675573541.com","remoteAddr":"222.222.222.222","rmuid":"23063423-5922-4d89-915a-b2e9c6690583","sid":112,"mid":111,"impressionGuid":"4cabf389-02b8-4c2a-836f-c8842cd2d94b","impliedConsentGranted":false,"grantedDate":"2056-04-17T13:24:28Z","sourceIds":{"aff_sid":["112"],"attr_sid":["2809"],"np_sid":["1815"]},"gdpr":{"isGlobal":false,"isScope":false,"purposes":[2,4,5],"vendors":[]}}private String consentId;
private String domain; private String remoteAddr; private String impressionGuid; private Gdpr gdpr; public String getConsentId() { return consentId; } public void setConsentId(String consentId) { this.consentId = consentId; } public String getDomain() { return domain; } public void setDomain(String domain) { this.domain = domain; } public String getRemoteAddr() { return remoteAddr; } public void setRemoteAddr(String remoteAddr) { this.remoteAddr = remoteAddr; } public String getImpressionGuid() { return impressionGuid; } public void setImpressionGuid(String impressionGuid) { this.impressionGuid = impressionGuid; } public Gdpr getGdpr() { return gdpr; } public void setGdpr(Gdpr gdpr) { this.gdpr = gdpr; }}
package com.linkshare.Pojo;
import java.util.List;public class Gdpr { private String isGlobal; private String isScope; private List<String> purposes; private List<String> vendors; public List<String> getPurposes() { return purposes; } public void setPurposes(List<String> purposes) { this.purposes = purposes; } public List<String> getVendors() { return vendors; } public void setVendors(List<String> vendors) { this.vendors = vendors; } public String getIsGlobal() { return isGlobal; } public void setIsGlobal(String isGlobal) { this.isGlobal = isGlobal; } public String getIsScope() { return isScope; } public void setIsScope(String isScope) { this.isScope = isScope; }}转载地址:http://fhjab.baihongyu.com/