package ivyy.taobao.com.domain.jsonlib;
import ivyy.taobao.com.entity.Student;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JSONSerializer;
import net.sf.json.xml.XMLSerializer;
/**
*@DEMO:json
*@Java:JsonXMLSerializer.java
*@Date:2015-1-18下午7:04:04
*@Author:liangjilong
*@Email:jilongliang@sina.com
*@Weibo:http://weibo.com/jilongliang
*@Version:1.0
*@Description:使用Json-lib的XMLSerializer的write和reader操作json数据和xml
*需要導入xom-1.1.jar包
*/
public class JsonXMLSerializer {
//创建一个XMLSerializer对象
public static XMLSerializer serializer = new XMLSerializer();
public static void main(String[] args) {
//writeXML();
readerXML();
}
/***
* XMLSerializer的write与Json转成xml的使用
*/
public static void writeXML() {
Object2XML();
String2Json();
Strings2XML();
Booleans2XML();
Objects2JSONArray();
}
/**
* 布尔数组转成XML
*/
public static void Booleans2XML(){
//布尔数组转成XML
System.out.println("==============Java boolean Array >>> XML ==================");
boolean[] booleans = { true, false, true };
System.out.println(serializer.write(JSONArray.fromObject(booleans)));
System.out.println(serializer.write(JSONSerializer.toJSON(booleans)));
}
/**
* 对象数组转成json数组
*/
public static void Objects2JSONArray(){
System.out.println("==============Java Object Array >>> JSON Array ==================");
boolean[] booleans = { true, false, true };
String[] strs = {"令狐冲", "东升布艺", "周伯通"};
Object[] objs = { 1, "令狐冲", true, "周伯通", strs, booleans };
System.out.println(serializer.write(JSONArray.fromObject(objs)));
System.out.println(serializer.write(JSONSerializer.toJSON(objs)));
}
/**
* /字符串轉換成json
*/
private static void String2Json() {
//字符串轉換成json
System.out.println("==============Java String >>> JSON ==================");
System.out.println(serializer.write(JSONArray.fromObject("['令狐冲','是','武林盟主']")).toString());
System.out.println(serializer.write(JSONObject.fromObject("{'令狐冲':'是 武林盟主'}")).toString());
System.out.println(serializer.write(JSONSerializer.toJSON("['令狐冲','是','武林盟主']")).toString());
}
/***
* 字符串数组转成XML
* @return
*/
private static void Strings2XML() {
System.out.println("==============Java String Array >>> XML ==================");
//字符串数组转成XML
String[] strs = {"令狐冲", "东升布艺", "周伯通"};
System.out.println(serializer.write(JSONArray.fromObject(strs)));
}
/***
*对象转XML
*/
private static void Object2XML() {
//对象转XML
System.out.println("==============Java Object >>> XML ==================");
Student stu=new Student();
stu.setAddress("廣東省雲浮市聞鶯路東升布藝");
stu.setUserName("東升布藝");
stu.setEmail("jilongliang@sina.com");
serializer.setElementName("stu");
System.out.println(serializer.write(JSONArray.fromObject(stu)));
}
/**
*
* json-lib的XMLSerializer的read使用
* json-lib的xml必须有一个对象obj(Object)节点包含里面的节点
* 如:
* <obj>
* <student type="string">
* <age>198</age>
* <username>东方不败</username>
* </student>
* <student type="string">
* <age>198</age>
* <username>周伯通</username>
* </student>
* </obj>
*
*/
public static void readerXML(){
String xml="";//
StringBuffer buffer=new StringBuffer();
buffer.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
buffer.append("<obj>");
buffer.append("<stu type=\"string\">令狐冲</stu>");
buffer.append("<stu type=\"string\">东升布艺</stu>");
buffer.append("<stu type=\"string\">周伯通</stu>");
buffer.append("</obj>");
xml=buffer.toString();
JSONArray jarr = (JSONArray) serializer.read(xml);
for (int i = 0; i < jarr.size(); i++) {
System.out.println(jarr.get(i));//获取出数组的数据
}
}
}
package ivyy.taobao.com.domain.jsonlib;
import ivyy.taobao.com.entity.Address;
import ivyy.taobao.com.entity.Student;
import ivyy.taobao.com.utils.GlobalConstants;
import ivyy.taobao.com.utils.HttpRequestUtils;
import ivyy.taobao.com.utils.IoUtils;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.xml.XMLSerializer;
/**
*@DEMO:json
*@Java:JSONLib.java
*@Date:2015-1-18下午8:44:40
*@Author:liangjilong
*@Email:jilongliang@sina.com
*@Weibo:http://weibo.com/jilongliang
*@Version:1.0
*@Description:json-lib常见的json解析和封装例子使用
*/
@SuppressWarnings("all")
public class JSONLib {
//创建一个XMLSerializer对象
public static XMLSerializer serializer = new XMLSerializer();
public static void main(String[] args) throws Exception {
//也可以从jsonmap.json通过文件流读取
getArrayToJsonByMap();
Json2Collection();
Json2Map();
///
//setDataByJsonLib();
///
//getDataByJsonLib("URL");
getDataByJsonLib("FILE");
///
//getStrToJsonByJsonLib();
//getObjectToJsonByJsonLib();
//getArrayToJsonByJsonLib();
//getArrayToJsonByJSONLib();
///
JsonXMLSerializer.writeXML();
JsonXMLSerializer.readerXML();
}
/**
* ByJsonLib把字符串转换成Json数据
* @throws Exception
*/
private static void getStrToJsonByJsonLib()throws Exception
{
String jsonStr="{\"city\":\"广州市\",\"province\":\"广东省\"}"; //这本身是json数据,也是字符串!
//String jsonStr="{city:广州市,province:广东省}"; //JsonLib不支持这个格式
JSONObject jsonObject=JSONObject.fromObject(jsonStr);
if(!jsonObject.isEmpty()){
System.out.println(jsonObject.get("province")+"\t"+jsonObject.get("city"));
}
}
/**
* 结合Map去通过JSON-Lib把数组转换成Json数据
* @param url
* @throws Exception
*/
private static void getArrayToJsonByMap()throws Exception
{
Address address=new Address();
address.setProvince("广东省");
address.setCity("云浮市");
address.setDistrict("云城区东升布艺");
address.setWeibo("http://weibo.com/resourceljl");
JSONArray jsonArr = JSONArray.fromObject(address); //把对象转换成Json对象
//注释掉的也可以执行
Map<String, Class<Address>> map=new HashMap<String,Class<Address>>();
map.put("address", Address.class);
List<Address> lists = JSONArray.toList(jsonArr, Address.class, map); //把对象Json数组转换成Json数组
System.out.println("-----------------------方法一-----------------------");
//-----------------------方法一-----------------------
for (Address obj : lists) {
System.out.println(obj.getProvince());//获取省的数据
System.out.println(obj.getCity());//获取城市的数据
System.out.println(obj.getDistrict());//获取街道的数据
System.out.println(obj.getWeibo());//获微博的数据
}
System.out.println("-----------------------方法二-----------------------");
//-----------------------方法二-----------------------
for (Iterator iterator = lists.iterator(); iterator.hasNext();) {
Address obj = (Address) iterator.next();
System.out.println(obj.getProvince());
System.out.println(obj.getCity());
System.out.println(obj.getDistrict());
System.out.println(obj.getWeibo());
}
System.out.println("-----------------------方法三-----------------------");
//-----------------------方法三-----------------------
for (int i = 0; i < lists.size(); i++) {
JSONObject obj = JSONObject.fromObject(lists.get(i));
System.out.println(obj.get("province"));
System.out.println(obj.get("city"));
System.out.println(obj.get("district"));
System.out.println(obj.get("weibo"));
}
System.out.println("-----------------------方法四-----------------------");
Iterator<Address> itera=lists.iterator();
do{
Address obj=itera.next();
System.out.println(obj.getProvince());
System.out.println(obj.getCity());
System.out.println(obj.getDistrict());
System.out.println(obj.getWeibo());
}while(itera.hasNext());
System.out.println("-----------------------方法五-----------------------");
Iterator<Address> it = lists.iterator();
//判断必须有值的时候就取值出来.如果没值的话会报错
while (!it.hasNext()) {
Address obj=itera.next();
if(obj!=null)
System.out.println(obj.getProvince());
System.out.println(obj.getCity());
System.out.println(obj.getDistrict());
System.out.println(obj.getWeibo());
}
}
/***
* 使用json-lib把json字符串数据转换成Collection
* @throws Exception
*/
public static void Json2Collection()throws Exception{
//1、拼接字符串json數據
StringBuffer buffer=new StringBuffer();
buffer.append("{");
buffer.append("\"id\":").append("168").append(",").append("\"userName\"").append(":").append("\"jilonglaing\"").append(",");
buffer.append("\"address\"").append(":").append("\"雲浮市聞鶯路39號\"").append(",");
buffer.append("\"birthday\"").append(":").append("\"1988-8-18\"").append(",");
buffer.append("\"email\":").append("\"").append("jilongliang@sina.com").append("\"");
buffer.append("}");
String json=buffer.toString();
//2、拼接一個json-lib支持的數組數據json
json = "[" + json + "]";
//3、轉換成一個數組
JSONArray jsonArray = JSONArray.fromObject(json);
//4、把數組轉成成Collection
Collection<Student> conlls = JSONArray.toCollection(jsonArray,Student.class);
//5、把Collection遍歷數據并輸出控制台
for (Student student : conlls) {
System.out.println(student.getAddress());
System.out.println(student.getUserName());
System.out.println(student.getBirthday());
System.out.println(student.getEmail());
}
}
/***
* json转成成Map
* @throws Exception
*/
public static void Json2Map()throws Exception{
//1、获取当前json文本的路径
String formPath=JsonMap.class.getClassLoader().getResource("ivyy/taobao/com/domain/jsonlib/json2map.txt").getPath();
//2、读取文件流的文件数据
String json=IoUtils.reader(formPath);
//3、格式化数据
JSONObject jsonObject = JSONObject.fromObject(json);
//4、创建一个Map
Map<String, Class<?>> clazzMap = new HashMap<String, Class<?>>();
clazzMap.put("result", String[].class);
clazzMap.put("Student1", Student.class);
clazzMap.put("Student2", Student.class);
//5、把Json转换成Map
Map<String, ?> mapBean = (Map) JSONObject.toBean(jsonObject, Map.class,clazzMap);
Set<String> set = mapBean.keySet();
//6、遍历Json数据
Iterator<String> iter = set.iterator();
while (iter.hasNext()) {
String key = iter.next();
System.out.print(key + ":" + mapBean.get(key).toString()+"\t");
}
}
/**
* ByJsonLib,把对象转换成Json数据
* @throws Exception
*/
private static void getObjectToJsonByJsonLib()throws Exception
{
Address addr = new Address();
addr.setProvince("广东省");
addr.setCity("广州市");
JSONObject jsonObject=new JSONObject();
jsonObject=jsonObject.fromObject(addr);
Address addrs= (Address) JSONObject.toBean(jsonObject, Address.class);
System.out.println(addrs.getProvince()+"\t"+addrs.getCity());
}
/**
* 通过ByJSONLib把数组转换成Json数据
* @param url
* @throws Exception
*/
private static void getArrayToJsonByJsonLib()throws Exception
{
Address address=new Address();
address.setDistrict("天河区");
address.setCity("广州");
address.setProvince("广东省");
JSONArray jsonArr = JSONArray.fromObject(address); //把对象转换成Json对象
//注释掉的也可以执行
//Map<String, Class<Address>> map=new HashMap<String,Class<Address>>();
//map.put("address", Address.class);
//List<Address> lists = JSONArray.toList(jsonArr, Address.class, map); //把对象Json数组转换成Json数组
List<Address> lists = JSONArray.toList(jsonArr, Address.class); //把对象Json数组转换成Json数组
for (Address obj : lists) {
System.out.println(obj.getProvince());
System.out.println(obj.getCity());
System.out.println(obj.getDistrict());
}
}
/**
* 通过ByJSONLib把数组转换成Json数据
* @param url
* @throws Exception
*/
private static void getArrayToJsonByJSONLib()throws Exception
{
List<Address> lists=new ArrayList<Address>();
for (int i = 1; i <=12; i++) {
Address addr = new Address();
addr.setProvince("第"+i+"个省份");
addr.setCity("第"+i+"个城市");
addr.setCityCode("130"+i);
addr.setStreet("街道"+i);
addr.setStreetNumber("街道号码"+i);
lists.add(addr);
}
JSONArray jsonArr = JSONArray.fromObject(lists); //把对象转换成Json对象
System.out.println(jsonArr);
Map<String, Class<Address>> map=new HashMap<String,Class<Address>>();
//拼接成address[{"city":"第1个城市","cityCode":"1301","district":"","province":"第1个省份","street":"街道1","streetNumber":"街道号码1"},{"city":"第2个城市","cityCode":"1302","district":"","province":"第2个省份","street":"街道2","streetNumber":"街道号码2"},{"city":"第3个城市","cityCode":"1303","district":"","province":"第3个省份","street":"街道3","streetNumber":"街道号码3"},{"city":"第4个城市","cityCode":"1304","district":"","province":"第4个省份","street":"街道4","streetNumber":"街道号码4"},{"city":"第5个城市","cityCode":"1305","district":"","province":"第5个省份","street":"街道5","streetNumber":"街道号码5"},{"city":"第6个城市","cityCode":"1306","district":"","province":"第6个省份","street":"街道6","streetNumber":"街道号码6"},{"city":"第7个城市","cityCode":"1307","district":"","province":"第7个省份","street":"街道7","streetNumber":"街道号码7"},{"city":"第8个城市","cityCode":"1308","district":"","province":"第8个省份","street":"街道8","streetNumber":"街道号码8"},{"city":"第9个城市","cityCode":"1309","district":"","province":"第9个省份","street":"街道9","streetNumber":"街道号码9"},{"city":"第10个城市","cityCode":"13010","district":"","province":"第10个省份","street":"街道10","streetNumber":"街道号码10"},{"city":"第11个城市","cityCode":"13011","district":"","province":"第11个省份","street":"街道11","streetNumber":"街道号码11"},{"city":"第12个城市","cityCode":"13012","district":"","province":"第12个省份","street":"街道12","streetNumber":"街道号码12"}]数组形势
map.put("address", Address.class);//
List<Address> listAdds = JSONArray.toList(jsonArr, Address.class, map); //把对象Json数组转换成Json数组
for(Iterator iter=listAdds.iterator();iter.hasNext();)
{
Address add=(Address)iter.next();
System.out.println(add.getProvince()+"\t"+add.getCity()+"\t"+add.getStreet()+"\t"+add.getCityCode());
}
}
/**
* 使用Json-lib组装数据
* @throws Exception
*/
private static void setDataByJsonLib()throws Exception{
JSONObject jsonObject=new JSONObject();
Map<String, String> lists=new HashMap<String, String>();
lists.put("广东省", "广州市");
lists.put("广州市", "天河区");
lists.put("天河区", "棠东");
jsonObject=jsonObject.fromObject(lists);//转换为json数据
System.out.println(jsonObject);//打印json数据
System.out.println(jsonObject.get("天河区"));//取出json数据
}
/**
* 使用Json-lib获取json数据
* @throws Exception
*/
private static void getDataByJsonLib(String flag) throws Exception {
String responseData="";
if(flag.equals("URL")){
//北京市的经纬度39.983424,116.322987
String url=GlobalConstants.getBaiduMapUrl("你的key", "39.983424,116.322987", "json");
responseData = HttpRequestUtils.HttpURLConnRequest(url, "GET");
}else if(flag.equals("FILE")){
String jsonData="ivyy/taobao/com/domain/jsonlib/jsonmap.json";
String path = JsonMap.class.getClassLoader().getResource(jsonData).getPath();
responseData=IoUtils.reader(path);
}
// 处理页面的json数据
int start = responseData.indexOf("(") + 1;
responseData = responseData.substring(start, responseData.lastIndexOf(")"));
JSONObject jsonObject = JSONObject.fromObject(responseData);
// 变量
String status = "", result = "", lat = "", lng = "", formatted_address = "", business = "", city = "", district = "", province = "", street = "", street_number = "";
if (jsonObject.has("status") && jsonObject.get("status") != null && jsonObject.get("status") != "") {
status = jsonObject.get("status").toString();// status
}
result = jsonObject.get("result").toString();// result
JSONObject location = JSONObject.fromObject(JSONObject .fromObject(result).get("location").toString());
lat = location.get("lat").toString();// lat
lng = location.get("lng").toString();// lng
JSONObject formatAddr = JSONObject.fromObject(result);
formatted_address = formatAddr.get("formatted_address").toString();// formatted_address
business = formatAddr.get("business").toString();// business
// 变量
JSONObject compObj = JSONObject.fromObject(JSONObject.fromObject(result).get("addressComponent").toString());// addressComponent
city = compObj.get("city").toString();
district = compObj.get("district").toString();
province = compObj.get("province").toString();
street = compObj.get("street").toString();
street_number = compObj.get("street_number").toString();
JSONArray poisArr = JSONObject.fromObject(result).getJSONArray("pois");
if (poisArr != null && poisArr.size() > 0) {
for (int i = 0; i < poisArr.size(); i++) {
// 变量
String addr = "", cp = "", distance = "", name = "", poiType = "", tel = "", uid = "", zip = "";
JSONObject tempJson = JSONObject.fromObject(poisArr.get(i));
addr = tempJson.get("addr").toString();
cp = tempJson.get("cp").toString();
distance = tempJson.get("distance").toString();
name = tempJson.get("name").toString();
poiType = tempJson.get("poiType").toString();
tel = tempJson.get("tel").toString();
uid = tempJson.get("uid").toString();
zip = tempJson.get("zip").toString();
JSONArray pointArr = poisArr.fromObject(tempJson.get("point"));// 获取ponit
// 变量
String x = "", y = "";
for (int j = 0; j < pointArr.size(); j++) {
JSONObject obj = JSONObject.fromObject(pointArr.get(j));
x = obj.get("x").toString();
y = obj.get("x").toString();
System.out.println(x);
}
}
}
}
}
package ivyy.taobao.com.utils;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.OutputStreamWriter;
import java.io.Writer;
/**
*@Author:liangjilong
*@Date:2015-1-5
*@Version:1.0
*@Description:
*/
public class IoUtils {
/**
* 读文件流
*
* @param formPath从哪里读取的文件路径
* @return
*/
public static String reader(String formPath) {
String content="";
FileReader read = null;
BufferedReader reader = null;
try {
read = new FileReader(new File(formPath));
reader = new BufferedReader(read);
StringBuffer buffer = new StringBuffer("");
content = reader.readLine();
while (content != null) {
buffer.append(content).append("\n");
content = reader.readLine();
}
return content = buffer.toString();// 返回
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (reader != null)
reader.close();
if (read != null)
read.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return "";// 没值就返回空
}
/**
* 处理文件写
* @param content
* @param htmlPath
* @return
*/
public static boolean write(String content, String htmlPath) {
boolean flag = true;
try {
Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(htmlPath), "utf-8"));
out.write("\n" + content);
out.close();
} catch (Exception ex) {
ex.printStackTrace();
return false;
}
return flag;
}
}
package ivyy.taobao.com.utils;
import java.net.URL;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
/**
*@Author:liangjilong
*@Date:2015-1-4
*@Email:jilongliang@sina.com
*@Version:1.0
*@Description
*/
public class GlobalConstants {
/***
* 获取百度地图的url
* @param ak秘钥即你在百度申请的key调用访问地图的key
* @param location地方的经纬度
* @param format格式(json或者xml)
* @return
*/
public static String getBaiduMapUrl(String ak,String location,String format){
StringBuffer buffer=new StringBuffer("http://api.map.baidu.com/geocoder/v2/?");
String url="";
buffer.append("ak="+ak);
buffer.append("&callback=renderReverse");
buffer.append("&location="+location);
buffer.append("&output="+format);
buffer.append("&pois=1");
url=buffer.toString();
return url;
}
}
package ivyy.taobao.com.utils;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
/**
*@Author:liangjilong
*@Date:2015-1-4
*@Email:jilongliang@sina.com
*@Version:1.0
*@Description
*/
public class HttpRequestUtils {
/**
* 发送http请求
* POST和GET请求都可以
* @param requestUrl 请求地址
* @param method传入的执行的方式 是GET还是POST方式
* @return String
*/
public static String HttpURLConnRequest(String requestUrl,String method) {
StringBuffer buffer = new StringBuffer();
try {
URL url = new URL(requestUrl);
HttpURLConnection httpUrlConn = (HttpURLConnection) url.openConnection();
httpUrlConn.setDoInput(true);
httpUrlConn.setRequestMethod(method);
httpUrlConn.setUseCaches(false);
httpUrlConn.setInstanceFollowRedirects(true); //重定向
httpUrlConn.connect();
// 将返回的输入流转换成字符串
InputStream inputStream = httpUrlConn.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8");
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String str = null;
while ((str = bufferedReader.readLine()) != null) {
buffer.append(str);
}
bufferedReader.close();
inputStreamReader.close();
// 释放资源
inputStream.close();
inputStream = null;
httpUrlConn.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
return buffer.toString();
}
}
package ivyy.taobao.com.entity;
import java.io.Serializable;
import com.google.gson.annotations.Expose;
/**
* Gson gson=new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
* 创建Gson对象,没有@Expose注释的属性将不会被序列化
* serialize序列化 默认 true
* deserialize反序列化 默认 true
* @author liangjilong
* @Email:jilongliang@sina.com
*/
public class Address implements Serializable{
@Expose(serialize=false)// 序列化 /Address类已经序列化
private int id;
@Expose(deserialize=false)// 反序列化
private String country;//国家
private String province;//省份
private String city;//城市
private String street;//街道
private String district;//地区
private String cityCode;//邮政编码
private String streetNumber;//街道号
private String weibo;//微博
public Address() {
}
public Address(int id,String country) {
this.id=id;
this.country=country;
}
public String getCityCode() {
return cityCode;
}
public void setCityCode(String cityCode) {
this.cityCode = cityCode;
}
public String getStreetNumber() {
return streetNumber;
}
public void setStreetNumber(String streetNumber) {
this.streetNumber = streetNumber;
}
public String getStreet() {
return street;
}
public void setStreet(String street) {
this.street = street;
}
public String getDistrict() {
return district;
}
public void setDistrict(String district) {
this.district = district;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getProvince() {
return province;
}
public void setProvince(String province) {
this.province = province;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
public String getWeibo() {
return weibo;
}
public void setWeibo(String weibo) {
this.weibo = weibo;
}
}
package ivyy.taobao.com.entity;
import java.io.Serializable;
/**
*@Author:liangjl
*@Date:2014-12-19
*@Version:1.0
*@Description:
*/
public class Student implements Serializable{
private Integer age;
private String sex;
private String userName;
private String birthday;
private String address;
private String email;
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}