「Javapojo数组」java的pojo

博主:adminadmin 2022-11-29 22:43:08 47

本篇文章给大家谈谈Javapojo数组,以及java的pojo对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

怎么把POJO类的数组属性转换成json或xml 格式

pojo可以转换为json,但是json不能转化为pojo,

具体转换的类

import java.beans.IntrospectionException;

import java.beans.Introspector;

import java.beans.PropertyDescriptor;

import java.io.File;

import java.math.BigDecimal;

import java.math.BigInteger;

import java.util.List;

import java.util.Map;

import java.util.Set;

public class JsonUtil {

public static String object2json(Object obj) {

StringBuilder json = new StringBuilder();

if (obj == null) {

json.append("\"\"");

} else if (obj instanceof String || obj instanceof Integer

|| obj instanceof Float || obj instanceof Boolean

|| obj instanceof Short || obj instanceof Double

|| obj instanceof Long || obj instanceof BigDecimal

|| obj instanceof BigInteger || obj instanceof Byte) {

json.append("\"").append(string2json(obj.toString())).append("\"");

} else if (obj instanceof java.sql.Date || obj instanceof java.util.Date) {

java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat(

"yyyy-MM-dd HH时mm分ss");//格式化日期

json.append("\"").append(sdf.format(obj)).append("\"");

} else if (obj instanceof Object[]) {

json.append(array2json((Object[]) obj));

} else if (obj instanceof List) {

json.append(list2json((List?) obj));

} else if (obj instanceof Map) {

json.append(map2json((Map?, ?) obj));

} else if (obj instanceof Set) {

json.append(set2json((Set?) obj));

} else if(obj instanceof File){

json.append("\"\"");

}else {

json.append(bean2json(obj));

}

return json.toString();

}

public static String bean2json(Object bean) {

StringBuilder json = new StringBuilder();

json.append("{");

PropertyDescriptor[] props = null;

try {

props = Introspector.getBeanInfo(bean.getClass(), Object.class)

.getPropertyDescriptors();

} catch (IntrospectionException e) {

}

if (props != null) {

for (int i = 0; i props.length; i++) {

try {

String name = object2json(props[i].getName());

String value = object2json(props[i].getReadMethod().invoke(

bean));

json.append(name);

json.append(":");

json.append(value);

json.append(",");

} catch (Exception e) {

}

}

json.setCharAt(json.length() - 1, '}');

} else {

json.append("}");

}

return json.toString();

}

public static String list2json(List? list) {

StringBuilder json = new StringBuilder();

json.append("[");

if (list != null list.size() 0) {

for (Object obj : list) {

json.append(object2json(obj));

json.append(",");

}

json.setCharAt(json.length() - 1, ']');

} else {

json.append("]");

}

return json.toString();

}

public static String array2json(Object[] array) {

StringBuilder json = new StringBuilder();

json.append("[");

if (array != null array.length 0) {

for (Object obj : array) {

json.append(object2json(obj));

json.append(",");

}

json.setCharAt(json.length() - 1, ']');

} else {

json.append("]");

}

return json.toString();

}

public static String map2json(Map?, ? map) {

StringBuilder json = new StringBuilder();

json.append("{");

if (map != null map.size() 0) {

for (Object key : map.keySet()) {

json.append(object2json(key));

json.append(":");

json.append(object2json(map.get(key)));

json.append(",");

}

json.setCharAt(json.length() - 1, '}');

} else {

json.append("}");

}

return json.toString();

}

public static String set2json(Set? set) {

StringBuilder json = new StringBuilder();

json.append("[");

if (set != null set.size() 0) {

for (Object obj : set) {

json.append(object2json(obj));

json.append(",");

}

json.setCharAt(json.length() - 1, ']');

} else {

json.append("]");

}

return json.toString();

}

public static String string2json(String s) {

if (s == null)

return "";

StringBuilder sb = new StringBuilder();

for (int i = 0; i s.length(); i++) {

char ch = s.charAt(i);

switch (ch) {

case '"':

sb.append("\\\"");

break;

case '\\':

sb.append("\\\\");

break;

case '\b':

sb.append("\\b");

break;

case '\f':

sb.append("\\f");

break;

case '\n':

sb.append("\\n");

break;

case '\r':

sb.append("\\r");

break;

case '\t':

sb.append("\\t");

break;

case '/':

sb.append("\\/");

break;

default:

if (ch = '\u0000' ch = '\u001F') {

String ss = Integer.toHexString(ch);

sb.append("\\u");

for (int k = 0; k 4 - ss.length(); k++) {

sb.append('0');

}

sb.append(ss.toUpperCase());

} else {

sb.append(ch);

}

}

}

return sb.toString();

}

}

java怎么读取json格式的数据

java可以使用JSONObject和JSONArray来操作json对象和json数组,具体用法如下

1:java对象与json串转换:

java对象—json串:

JSONObject JSONStr = JSONObject.fromObject(object);

String str = JSONStr.toString();

json串—java对象:

JSONObject jsonObject = JSONObject.fromObject( jsonString );

Object pojo = JSONObject.toBean(jsonObject,pojoCalss);

2:java数组对象与json串转换:

java数组—json串:

JSONArray arrayStr = JSONArray.fromObject(List?);

String str = arrayStr.toString();

json串—java数组:

JSONArray array = JSONArray.fromObject(str);

List? list = JSONArray.toList(array, ?.class);

如何用java递归生成带children的json串

这个问题有点没意义,因为java已经有相应的jar了,不论是阿里的fastjson,还是gson,又或者是jackson,都是已经很成熟的jar了。如果非要自己去写的话,就需要用到反射了。简单来说,就是获取对象的所有属性。复杂说的话,要判断对象的属性,判断属性类型,判断属性值是否为null,判断对象是否是有transient修饰,判断字符串里面是否有双引号等等。然后通过StringBuffer或是StringBuilder去拼接字符串,来生成json串,至于是StringBuffer还是StringBuilder就看你的需要再决定了

json中包含json数组怎么转换成java对象

下面是JSON转pojo的工具类,复制就可以用了。

import java.util.List;

import com.fasterxml.jackson.core.JsonProcessingException;

import com.fasterxml.jackson.databind.JavaType;

import com.fasterxml.jackson.databind.ObjectMapper;

/**

 * 淘淘商城自定义响应结构

 */

public class JsonUtils {

// 定义jackson对象

private static final ObjectMapper MAPPER = new ObjectMapper();

/**

 * 将对象转换成json字符串。

 */

public static String objectToJson(Object data) {

try {

return MAPPER.writeValueAsString(data);

} catch (JsonProcessingException e) {

e.printStackTrace();

}

return null;

}

/**

 * 将json结果集转化为对象

 * 

 * @param jsonData

 *            json数据

 * @param clazz

 *            对象中的object类型

 * @return

 */

public static T T jsonToPojo(String jsonData, ClassT beanType) {

try {

T t = MAPPER.readValue(jsonData, beanType);

return t;

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

/**

 * 将json数据转换成pojo对象list

 */

public static T ListT jsonToList(String jsonData, ClassT beanType) {

JavaType javaType = MAPPER.getTypeFactory().constructParametricType(List.class, beanType);

try {

ListT list = MAPPER.readValue(jsonData, javaType);

return list;

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

}

JAVA中反射是什么

JAVA中反射是动态获取信息以及动态调用对象方法的一种反射机制。

Java反射就是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;并且能改变它的属性。而这也是Java被视为动态语言的一个关键性质。

Java反射的功能是在运行时判断任意一个对象所属的类,在运行时构造任意一个类的对象,在运行时判断任意一个类所具有的成员变量和方法,在运行时调用任意一个对象的方法,生成动态代理。

扩展资料:

JAVA中反射实例:

1、Class superClass=clazz.getSuperclass();//获取父类。

System.out.println("getSuperclass:"+superClass)。   

2、Class[] interfaces=clazz.getInterfaces();//获取实现接口。

System.out.println("getInterfaces:"+interfaces.length)。

3、Constructor[] cons=clazz.getConstructors();//构造方法。

System.out.println("getConstructors:"+cons.length)。

参考资料来源:百度百科: JAVA反射机制

java对象怎么转json数组 跪求啊

JSON-lib这个Java类包用于把bean,map和XML转换成JSON并能够把JSON转回成bean和DynaBean。

下载地址:

还要需要的第3方包:

org.apache.commons(3.2以上版本)

org.apache.oro

net.sf.ezmorph(ezmorph-1.0.4.jar)

nu.xom

1、List

Java代码

boolean[] boolArray =newboolean[]{true,false,true};

JSONArray jsonArray1 = JSONArray.fromObject( boolArray );

System.out.println( jsonArray1 );

// prints [true,false,true]

List list =newArrayList();

list.add("first");

list.add("second");

JSONArray jsonArray2 = JSONArray.fromObject( list );

System.out.println( jsonArray2 );

// prints ["first","second"]

JSONArray jsonArray3 = JSONArray.fromObject("['json','is','easy']");

System.out.println( jsonArray3 );

// prints ["json","is","easy"]

2、Map

Java代码

Map map =newHashMap();

map.put("name","json");

map.put("bool", Boolean.TRUE );

map.put("int",newInteger(1) );

map.put("arr",newString[]{"a","b"} );

map.put("func","function(i){ return this.arr[i]; }");

JSONObject json = JSONObject.fromObject( map );

System.out.println( json );

//{"func":function(i){ return this.arr[i]; },"arr":["a","b"],"int":1,"name":"json","bool":true}

3、BEAN

Java代码

/**

* Bean.java

private String name = "json";

private int pojoId = 1;

private char[] ptions = new char[]{'a','f'};

private String func1 = "function(i){ return this.options[i]; }";

private JSONFunction func2 = new JSONFunction(new String[]{"i"},"return this.options[i];");

*/

JSONObject jsonObject = JSONObject.fromObject(newJsonBean() );

System.out.println( jsonObject );

//{"func1":function(i){ return this.options[i]; },"pojoId":1,"name":"json","options":["a","f"],"func2":function(i){ return this.options[i]; }}

4、BEANS

Java代码

/**

* private int row ;

private int col ;

private String value ;

*

*/

List list =newArrayList();

JsonBean2 jb1 =newJsonBean2();

jb1.setCol(1);

jb1.setRow(1);

jb1.setValue("xx");

JsonBean2 jb2 =newJsonBean2();

jb2.setCol(2);

jb2.setRow(2);

jb2.setValue("");

list.add(jb1);

list.add(jb2);

JSONArray ja = JSONArray.fromObject(list);

System.out.println( ja.toString() );

//[{"value":"xx","row":1,"col":1},{"value":"","row":2,"col":2}]

5、String to bean

Java代码

String json ="{name=\"json\",bool:true,int:1,double:2.2,func:function(a){ return a; },array:[1,2]}";

JSONObject jsonObject = JSONObject.fromString(json);

Object bean = JSONObject.toBean( jsonObject );

assertEquals( jsonObject.get("name"), PropertyUtils.getProperty( bean,"name") );

assertEquals( jsonObject.get("bool"), PropertyUtils.getProperty( bean,"bool") );

assertEquals( jsonObject.get("int"), PropertyUtils.getProperty( bean,"int") );

assertEquals( jsonObject.get("double"), PropertyUtils.getProperty( bean,"double") );

assertEquals( jsonObject.get("func"), PropertyUtils.getProperty( bean,"func") );

List expected = JSONArray.toList( jsonObject.getJSONArray("array") );

assertEquals( expected, (List) PropertyUtils.getProperty( bean,"array") );

Java代码

String json ="{\"value\":\"xx\",\"row\":1,\"col\":1}";

JSONObject jsonObject = JSONObject.fromString(json);

JsonBean2 bean = (JsonBean2) JSONObject.toBean( jsonObject, JsonBean2.class);

assertEquals( jsonObject.get("col"),newInteger( bean.getCol()) );

assertEquals( jsonObject.get("row"),newInteger( bean.getRow() ) );

assertEquals( jsonObject.get("value"), bean.getValue() );

6 json to xml

1)

JSONObject json = new JSONObject( true );

String xml = XMLSerializer.write( json );

o class="object" null="true"

2)

JSONObject json = JSONObject.fromObject("{\"name\":\"json\",\"bool\":true,\"int\":1}");

String xml = XMLSerializer.write( json );

o class="object"

name type="string"json/name

bool type="boolean"true/bool

int type="number"1/int

/o

o class="object"

name type="string"json/name

bool type="boolean"true/bool

int type="number"1/int

/o

3)

JSONArray json = JSONArray.fromObject("[1,2,3]");

String xml = XMLSerializer.write( json );

a class="array"

e type="number"1/e

e type="number"2/e

e type="number"3/e

/a

7 、xml to json

a class="array"

e type="function" params="i,j"

return matrix[i][j];

/e

/a

a class="array"

e type="function" params="i,j"

return matrix[i][j];

/e

/a

JSONArray json = (JSONArray) XMLSerializer.read( xml );

System.out.println( json );

// prints [function(i,j){ return matrix[i][j]; }]

Javapojo数组的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java的pojo、Javapojo数组的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-29,除非注明,否则均为首码项目网原创文章,转载请注明出处。