如何将String转换为SortedMap <string,sortedmap <string,object>&gt;?</string,sortedmap <string,object>

时间:2011-09-12 11:58:26

标签: java

我有一种情况是我想将字符串转换为SortedMap<String,SortedMap<String,Object>>。在我的字符串中可以有一些单词,我希望将其添加到已排序的地图中。

String s2="{ age={},  city={City=1.4054651},  phoneno={},  zip={Zip=0.30685282}, name={}}";

请帮帮我。

1 个答案:

答案 0 :(得分:0)

public  static HashMap stringToHashMap(String str)
    {
        int count=0;
        int equal_index=0;
        int commaindex=0;
        String key=null,val=null;
        HashMap map=new HashMap();
        int size=str.length();
        if(str.charAt(0)=='{' && str.charAt(size-1)=='}')
        {
        System.out.println("Valid-Map object");
        str=str.substring(1);
        size=size-1;
        while(size!=0)
        {
            equal_index=str.indexOf('=');
            if(equal_index==-1 && count==0)
                return null;
            key=str.substring(0,equal_index);
            str=str.substring(key.length()+1,size);
            size=size-(key.length()+1);

            commaindex=str.indexOf(",");
            if(commaindex==-1)
                commaindex=str.lastIndexOf('}');
            val=str.substring(0,commaindex);
            str=str.substring(val.length()+1,size);
            size=size-(val.length()+1);
            key=key.trim();
            val.trim();
            map.put(key, val);
            count++;
        }
        }
        else
            throw new RuntimeException("Invalid string format--Cannot convert it to map");
            return map;
    }