Json String to Java Bean

//{"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;
}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章