Java 如何将字符串转换为SortedMap<;字符串,已分类地图<;字符串,对象>>;?

Java 如何将字符串转换为SortedMap<;字符串,已分类地图<;字符串,对象>>;?,java,Java,有一种情况是,我想将字符串转换为SortedMap。在我的字符串中可以有一些我想添加到排序映射中的单词 String s2="{ age={}, city={City=1.4054651}, phoneno={}, zip={Zip=0.30685282}, name={}}"; 请帮帮我。是的,就像映射中的true toString(),因为我使用Rabbitmq发布者类将消息发送到字节[],当消费者收到消息时,它再次返回字节[]。我将字节数组类型转换为字符串,再次需要将字符串值类型转

有一种情况是,我想将字符串转换为
SortedMap
。在我的字符串中可以有一些我想添加到排序映射中的单词

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

请帮帮我。

是的,就像映射中的true toString(),因为我使用Rabbitmq发布者类将消息发送到字节[],当消费者收到消息时,它再次返回字节[]。我将字节数组类型转换为字符串,再次需要将字符串值类型转换为sortmap。值是否始终为数字,或者它们也可能是
String
s或其他对象?如果只是数字,应该不会太难,但是如果
String
s也被允许,你会得到一些讨厌的东西,比如:
city={city=“}}}}}
(包含
}
的字符串)。是的,我试过了,但最后我坚持了以下代码字符串s2=“{age={},city={city=1.4054651},phoneno={},zip={zip=0.30685282},name={}”;系统输出打印LN(s2);int length=s2.length();int size=length-1;如果(s2.charAt(0)='{'&&s2.charAt(size)='}'){String substring=s2.substring(1,length-1);System.out.println(substring);String[]split=substring.split(“,”)}让我们
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;
    }