橙稚 2017-06-09 06:27 采纳率: 33.3%
浏览 1303
已采纳

求大神,数据转换,不知道怎么转了。。

{通州区={[164.08]=[2017], [180.0]=[2015], [161.0]=[2011], [166.0]=[2012], [159.5]=[2014]}}
转成下面这种格式。

{"data":164.08,"riqi":"2017","name":"通州区","data":180.0,"riqi":"2015",data":161.0,"riqi":"2011",data":166.0,"riqi":"2012",data":159.50,"riqi":"2014"}图片说明图片说明

  • 写回答

7条回答 默认 最新

  • rbacPermission 2017-06-09 08:01
    关注

    写一个针对楼上的那个格式

    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    public class A {
    public static void main(String[] args) {
    String a="{通州区={[164.08]=[2017], [180.0]=[2015], [161.0]=[2011], [166.0]=[2012], [159.5]=[2014]}}";
    String b=a.substring(1, a.length()-2);
    int i=b.indexOf("=");
    String c=b.substring(0, i);
    System.out.println("c:"+c);
    String d=b.substring(i+2);
    String e= d.replaceAll("\\[", "").replaceAll("\\]", "");
    System.out.println("e:"+e);
    String [] n1= e.split(",");
    List<Map<String, String>> list =new ArrayList<Map<String, String>>();
    for(int j=0;j<n1.length;j++){
        Map<String, String> map=new HashMap<String, String>();
        String [] n2=n1[j].split("=");
        map.put("data", n2[0]);
        map.put("riqi", n2[1]);
        list.add(map);
    }
    Map<String, Object> map1=new HashMap<String, Object>();
    map1.put("key", c);
    map1.put("value", list);
    System.out.println(map1);
    }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?