js jquery 遍历map

  • Post author:
  • Post category:其他



首先确定一个问题 你是想用js遍历map 拿到map的key和value。所以后台传到前台的东西肯定不能是个对象 而是json字符串。


(如果你想后台传到前台一个对象 request.setAttribute(“formData”, formData);  前台需要<c:foreach>使用)


前台这么使用  将json字符串 变成map对象 然后遍历


var map = ‘${formData}’;

var formData =JSON.parse(map);

for( var key in formData) {


$(“#”+key).val(formData[key]);

}

以下是JSONUtils类

import java.sql.Timestamp;

import java.text.SimpleDateFormat;

import java.util.Date;

import java.util.List;

import com.fasterxml.jackson.annotation.JsonAutoDetect;

import com.fasterxml.jackson.annotation.PropertyAccessor;

import com.fasterxml.jackson.core.JsonProcessingException;

import com.fasterxml.jackson.databind.DeserializationFeature;

import com.fasterxml.jackson.databind.JavaType;

import com.fasterxml.jackson.databind.ObjectMapper;

import flexjson.JSONDeserializer;

import flexjson.JSONSerializer;

import flexjson.transformer.DateTransformer;

/**

* json串与对象之间的转换 sunzq

*/

public class JsonUtils {

// 定义jackson对象

private static final ObjectMapper MAPPER = new ObjectMapper();

static{


MAPPER.setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY);

MAPPER.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

MAPPER.setDateFormat(new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”));

}

/**

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

* <p>Title: pojoToJson</p>

* <p>Description: </p>

* @param data

* @return

*/

public static String objectToJson(Object data) {


try {


String string = MAPPER.writeValueAsString(data);

return string;

} catch (JsonProcessingException e) {


e.printStackTrace();

}

return null;

}

/**

* 将json结果集转化为对象

*

* @param jsonData json数据

* @param clazz 对象中的object类型

* @return

*/

public static <T> T jsonToPojo(String jsonData, Class<T> beanType) {


try {


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

return t;

} catch (Exception e) {


e.printStackTrace();

}

return null;

}

/**

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

* @param jsonData

* @param beanType

* @return

*/

public static <T>List<T> jsonToList(String jsonData, Class<T> beanType) {


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

try {


List<T> list = MAPPER.readValue(jsonData, javaType);

return list;

} catch (Exception e) {


e.printStackTrace();

}

return null;

}

/**

* json解码方法

*

* @param json 传来的json数据

* @return 反序列化后的结果

*/

public static Object decode(String json) {


if (json == null || “”.equals(json)) {


return “”;

}

JSONDeserializer deserializer = new JSONDeserializer();

Object obj = deserializer.deserialize(json);

if (obj != null && obj.getClass() == String.class) {


return decode(obj.toString());

}

return obj;

}

/**

* //json编码方法

*

* @param obj 传来的数据

* @return 解码之后的数据

*/

public static String encode(Object obj) {


if (obj == null || “null”.equals(obj.toString())) {


return null;

}

if (obj != null && obj.getClass() == String.class) {


return obj.toString();

}

JSONSerializer serializer = new JSONSerializer();

serializer.transform(new DateTransformer(“yyyy-MM-dd’T’HH:mm:ss”), Date.class);

serializer.transform(new DateTransformer(“yyyy-MM-dd’T’HH:mm:ss”), Timestamp.class);

return serializer.deepSerialize(obj);

}

/**

* 将obj类型转化为string

*

* @param obj 传来的值

* @return 入座字符串未初始化则返回一个空字符串

*/

public static String getObjectString(Object obj) {


if (obj != null) {


String inp = obj.toString();

if (isEmpty(inp)) {


return “”;

} else {


return inp;

}

}

return “”;

}

/**

* 判断给定字符串是否为空 或者为空字符串

*

* @param str 要判断的字符串

* @return true表示空, false表示不为空

*/

public static boolean isEmpty(String str) {


return (str == null || “”.equals(str) || “null”.equals(str));

}

}



版权声明:本文为java_creatMylief原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。