JAVA问题:
字符串[["109.3954270","24.3560590"],["109.3962230","24.3557100"]]
转为
[["109.3962230","24.3557100"],["109.3954270","24.3560590"]]
public static void main(String[] args) {
// TODO Auto-generated method stub
String teString="[[\"109.3954270\",\"24.3560590\"],[\"109.3962230\",\"24.3557100\"]]";
System.out.println(teString);
}
这个不要用字符串存储,用一个hashmap, 什么的 ,直接用迭代器 ,进行三角交换就行
以逗号隔开 两个随便你怎么排位置
public class Test {
public static void main(String[] args) {
//下面的处理方式适用于多个类似的字符串拼接,不仅仅限制于2个
String teString="[[\"109.3954270\",\"24.3560590\"],[\"109.3962230\",\"24.3557100\"]]";
//去掉首尾
teString = teString.substring(1);
teString = teString.substring(0,teString.length()-1);
System.out.println(teString);//输出结果["109.3954270","24.3560590"],["109.3962230","24.3557100"]
//以特殊符号切分
String[] strArray = teString.split("\\],\\[");
StringBuffer sb = new StringBuffer();
for (int i = strArray.length-1; i >=0 ; i--) {
//最后一个缺失[
if(i==strArray.length-1){
sb.append("["+strArray[i]);
}else{
//第一个缺失]
if(i==0){
sb.append(","+strArray[i]+"]");
}else{//其他的缺失[和]
sb.append(",["+strArray[i]+"]");
}
}
}
sb.append("]");
sb.insert(0, "[");
System.out.println(sb.toString());//输出结果[["109.3962230","24.3557100"],["109.3954270","24.3560590"]]
}
}
可以吧我得代码封装成一个方法,直接通过方法调用就行
public class Test {
public static void main(String[] args) {
//下面的处理方式适用于多个类似的字符串拼接,不仅仅限制于2个
String teString="[[\"109.3954270\",\"24.3560590\"],[\"109.3962230\",\"24.3557100\"]]";
System.out.println(new Test().dealStr(teString));
}
/**
* 处理字符串
* @param teString
* @return
*/
public String dealStr(String teString) {
// 去掉首尾
teString = teString.substring(1);
teString = teString.substring(0, teString.length() - 1);
System.out.println(teString);// 输出结果["109.3954270","24.3560590"],["109.3962230","24.3557100"]
// 以特殊符号切分
String[] strArray = teString.split("\\],\\[");
StringBuffer sb = new StringBuffer();
for (int i = strArray.length - 1; i >= 0; i--) {
// 最后一个缺失[
if (i == strArray.length - 1) {
sb.append("[" + strArray[i]);
} else {
// 第一个缺失]
if (i == 0) {
sb.append("," + strArray[i] + "]");
} else {// 其他的缺失[和]
sb.append(",[" + strArray[i] + "]");
}
}
}
sb.append("]");
sb.insert(0, "[");
System.out.println(sb.toString());// 输出结果[["109.3962230","24.3557100"],["109.3954270","24.3560590"]]
return sb.toString();
}
}
String str = "[[\"109.3962230\",\"24.3557100\"],[\"109.3954270\",\"24.3560590\"]]";
List> list = (List>) JSON.parse(str);
Collections.swap(list, 0, list.size() - 1);
System.out.println(list);
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="./jquery.min.js"></script>
<meta charset="UTF-8">
<title>Insert title here</title>
<script>
var json = [["109.3954270","24.3560590"],["109.3962230","24.3557100"]];
$(function(){
$("#p1").html(json.toString());
$("#p2").html(json.reverse().toString());
});
</script>
</head>
<body>
<p id="p1"></p>
<p id="p2"></p>
</body>
</html>
这种方法我最喜欢用了,从后端用jsp取数据直接赋值:
var json = [];
<c:if test="${xxxx !=null&&!"".equals(xxxx)}"> //if标签必须有,否则,在xxxx为空的时候前端代码会变为'var=',语法不完整
var json = xxxx; //相当于定义一个数组
</c:if>
大体上就这个思路,有不对的地方你再改改,我觉得没问题,逻辑比较复杂的用这个方法,逻辑简单的用不着