博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Json String to Java Bean
阅读量:2385 次
发布时间:2019-05-10

本文共 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/

你可能感兴趣的文章
JS读取DropDownList中的值
查看>>
进度条例子
查看>>
WordPress注册支持中文用户名的解决办法
查看>>
设置WordPress评论头像为圆角鼠标触碰后旋转效果
查看>>
WordPress:删除多说插件的版权信息
查看>>
查询表中两个条件下的数目,按三列组成表
查看>>
WinForm下禁止TextBox右键菜单
查看>>
C#_winform_DataGridView_的18种常见属性
查看>>
C# 扩展系统类string的方法
查看>>
webBrowser强制在本窗口打开,禁止在新窗口打开
查看>>
C#获取CPU序列号代码、硬盘ID、网卡硬件地址等类文件
查看>>
Html常用符号
查看>>
WinForm控制Webbrowser自动登录
查看>>
access表(.mdb文件) 导入 power designer
查看>>
PowerDesigner如何设计表之间的关联
查看>>
SQLite通用数据库类
查看>>
CMD下修改IP地址!
查看>>
安卓手机可以连上wifi但无法上网的解决办法
查看>>
C++程序员常用工具集
查看>>
在CSDN博客中添加量子恒道统计功能的做法
查看>>