求大神.在线等.速度来啊.急急. 你这是三个对象,你要转为什么map格式呢?按照什么方式存入map中呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 另外一个接口只接Map.所以要以key value格式存入 用‘,’号切,再用‘=’切,奇数赋值给value偶数赋值给key,你看行吗。后面的 | 去掉用方法remove先判断位置再去掉 先根据 | 分隔,然后按照 , 分隔, 然后再按照 = 分隔定义一个对象,将属性什么的设置好,按照 order_id 为key,对象为value 放入map中将map返回 先根据 | 分隔,然后按照 , 分隔, 然后再按照 = 分隔定义一个对象,将属性什么的设置好,按照 order_id 为key,对象为value 放入map中将map返回梦圈了...求代码.见笑了.头不转圈了 代码自己写,有问题可以问定义一个Instance 类,属性就是trans_state,dc_,... order_date 这些你上面不是已经按照 | 分隔一次了嘛,分隔后有数组,遍历这个数组对数组中的每一项继续按照 , 分隔,分隔后将里面的数组再次按照 = 分隔然后根据属性名和属性值的关系,将数据组装到对象里面去 将对象放入map中就可以了 代码【要想看运行过程,可以把注释打开或者Debug;得自己加一些异常处理以及日志】:import java.util.HashMap;public class StringToMapArray { private HashMap<String, String>[] _mapArray; public static void main(String[] args) { final String m_stringData = "trans_state = 01,\n" + " dc_ = 01,\n" + " amount = 10,\n" + " trans_date = 20150312,\n" + " acc_check_date = 20150312,\n" + " balance = 755,\n" + " amt_type = 01,\n" + " trans_time = 170158,\n" + " order_id = OD201521200000002,\n" + " trans_type = 03,\n" + " order_date = 20150312 | \n" + "\n" + "trans_state = 01,\n" + " dc_ = 01,\n" + " amount = 1,\n" + " trans_date = 20150312,\n" + " acc_check_date = 20150312,\n" + " balance = 765,\n" + " amt_type = 01,\n" + " trans_time = 160631,\n" + " order_id = OD201521200000001,\n" + " trans_type = 03,\n" + " order_date = 20150312 | \n" + "\n" + " trans_state = 01,\n" + " dc_ = 01,\n" + " amount = 4,\n" + " trans_date = 20150312,\n" + " acc_check_date = 20150312,\n" + " balance = 766,\n" + " amt_type = 01,\n" + " trans_time = 143756,\n" + " order_id = OD201521200000023,\n" + " trans_type = 03,\n" + " order_date = 20150312"; StringToMapArray stringToMapArray = new StringToMapArray(); stringToMapArray.setMapArray(m_stringData); HashMap<String, String>[] m_mapArray = stringToMapArray.getMapArray(); for (HashMap<String, String> m_map : m_mapArray) { System.out.println(m_map); } } public HashMap<String, String>[] getMapArray() { return _mapArray; } public void setMapArray(final String p_stringData) { String s_stringData = p_stringData; s_stringData = s_stringData.replaceAll(" ", "");//去除空格 s_stringData = s_stringData.replaceAll("\n", "");//去除改行 // System.out.println(s_stringData); String stringDataSplitByVerticalBarArray[] = s_stringData.split("\\|"); HashMap<String, String>[] s_mapArray = new HashMap[stringDataSplitByVerticalBarArray.length]; int s_mapIndex = 0; for (String stringDataSplitByVerticalBar : stringDataSplitByVerticalBarArray) { s_mapArray[s_mapIndex] = new HashMap<String, String>(); // System.out.println(stringDataSplitByVerticalBar); String stringDataSplitByCommaArray[] = stringDataSplitByVerticalBar.split(","); for (String stringDataSplitByComma : stringDataSplitByCommaArray) { // System.out.println(stringDataSplitByComma); String stringDataSplitByEqualsSignArray[] = stringDataSplitByComma.split("="); // for (String stringDataSplitByEqualsSign : stringDataSplitByEqualsSignArray) { // System.out.println(stringDataSplitByEqualsSign); // } s_mapArray[s_mapIndex].put(stringDataSplitByEqualsSignArray[0], stringDataSplitByEqualsSignArray[1]); } s_mapIndex++; } this._mapArray = s_mapArray; }}运行结果:{dc_=01, order_date=20150312, trans_state=01, amount=10, trans_date=20150312, balance=755, acc_check_date=20150312, trans_time=170158, amt_type=01, order_id=OD201521200000002, trans_type=03}{dc_=01, order_date=20150312, trans_state=01, amount=1, trans_date=20150312, balance=765, acc_check_date=20150312, trans_time=160631, amt_type=01, order_id=OD201521200000001, trans_type=03}{dc_=01, order_date=20150312, trans_state=01, amount=4, trans_date=20150312, balance=766, acc_check_date=20150312, trans_time=143756, amt_type=01, order_id=OD201521200000023, trans_type=03} 类似于邮箱的邮件查看功能怎么实现? 前台页面迭代出input的id值都一样,js取不到第二条以后的值,求解答 ajax详解的疑问 关与服务器与客户端 有ant视频教程吗,不知道ant怎么使用啊 [救命!!]启动tomcat时候,Myeclipse控制台上显示 信息: XML validation disabled 外网如何通过socket连接内网 如何获得指定的表单内容! 麻烦各位一个问题 类型转换的判断问题 Struts2异常处理 tomcat为何找不到mysql驱动
后面的 | 去掉用方法remove先判断位置再去掉
定义一个对象,将属性什么的设置好,按照 order_id 为key,对象为value 放入map中
将map返回
定义一个对象,将属性什么的设置好,按照 order_id 为key,对象为value 放入map中
将map返回梦圈了...求代码.见笑了.头不转圈了
你上面不是已经按照 | 分隔一次了嘛,分隔后有数组,遍历这个数组
对数组中的每一项继续按照 , 分隔,分隔后将里面的数组再次按照 = 分隔
然后根据属性名和属性值的关系,将数据组装到对象里面去 将对象放入map中就可以了
import java.util.HashMap;public class StringToMapArray {
private HashMap<String, String>[] _mapArray; public static void main(String[] args) {
final String m_stringData = "trans_state = 01,\n" +
" dc_ = 01,\n" +
" amount = 10,\n" +
" trans_date = 20150312,\n" +
" acc_check_date = 20150312,\n" +
" balance = 755,\n" +
" amt_type = 01,\n" +
" trans_time = 170158,\n" +
" order_id = OD201521200000002,\n" +
" trans_type = 03,\n" +
" order_date = 20150312 | \n" +
"\n" +
"trans_state = 01,\n" +
" dc_ = 01,\n" +
" amount = 1,\n" +
" trans_date = 20150312,\n" +
" acc_check_date = 20150312,\n" +
" balance = 765,\n" +
" amt_type = 01,\n" +
" trans_time = 160631,\n" +
" order_id = OD201521200000001,\n" +
" trans_type = 03,\n" +
" order_date = 20150312 | \n" +
"\n" +
" trans_state = 01,\n" +
" dc_ = 01,\n" +
" amount = 4,\n" +
" trans_date = 20150312,\n" +
" acc_check_date = 20150312,\n" +
" balance = 766,\n" +
" amt_type = 01,\n" +
" trans_time = 143756,\n" +
" order_id = OD201521200000023,\n" +
" trans_type = 03,\n" +
" order_date = 20150312"; StringToMapArray stringToMapArray = new StringToMapArray();
stringToMapArray.setMapArray(m_stringData);
HashMap<String, String>[] m_mapArray = stringToMapArray.getMapArray(); for (HashMap<String, String> m_map : m_mapArray) {
System.out.println(m_map);
}
} public HashMap<String, String>[] getMapArray() {
return _mapArray;
} public void setMapArray(final String p_stringData) {
String s_stringData = p_stringData;
s_stringData = s_stringData.replaceAll(" ", "");//去除空格
s_stringData = s_stringData.replaceAll("\n", "");//去除改行
// System.out.println(s_stringData); String stringDataSplitByVerticalBarArray[] = s_stringData.split("\\|");
HashMap<String, String>[] s_mapArray = new HashMap[stringDataSplitByVerticalBarArray.length]; int s_mapIndex = 0;
for (String stringDataSplitByVerticalBar : stringDataSplitByVerticalBarArray) {
s_mapArray[s_mapIndex] = new HashMap<String, String>();
// System.out.println(stringDataSplitByVerticalBar);
String stringDataSplitByCommaArray[] = stringDataSplitByVerticalBar.split(",");
for (String stringDataSplitByComma : stringDataSplitByCommaArray) {
// System.out.println(stringDataSplitByComma);
String stringDataSplitByEqualsSignArray[] = stringDataSplitByComma.split("=");
// for (String stringDataSplitByEqualsSign : stringDataSplitByEqualsSignArray) {
// System.out.println(stringDataSplitByEqualsSign);
// }
s_mapArray[s_mapIndex].put(stringDataSplitByEqualsSignArray[0], stringDataSplitByEqualsSignArray[1]);
}
s_mapIndex++;
}
this._mapArray = s_mapArray;
}
}
运行结果:
{dc_=01, order_date=20150312, trans_state=01, amount=10, trans_date=20150312, balance=755, acc_check_date=20150312, trans_time=170158, amt_type=01, order_id=OD201521200000002, trans_type=03}
{dc_=01, order_date=20150312, trans_state=01, amount=1, trans_date=20150312, balance=765, acc_check_date=20150312, trans_time=160631, amt_type=01, order_id=OD201521200000001, trans_type=03}
{dc_=01, order_date=20150312, trans_state=01, amount=4, trans_date=20150312, balance=766, acc_check_date=20150312, trans_time=143756, amt_type=01, order_id=OD201521200000023, trans_type=03}