Java 将字符串解析为LinkedTreeMap<;字符串,对象>;
如何将一个键值对解析为一个LinkedTreeMap的toString()方法的结果(在一些不可访问的代码中)到一个LinkedTreeMap 我要转换为的示例字符串:LinkedTreeMapJava 将字符串解析为LinkedTreeMap<;字符串,对象>;,java,android,json,gson,Java,Android,Json,Gson,如何将一个键值对解析为一个LinkedTreeMap的toString()方法的结果(在一些不可访问的代码中)到一个LinkedTreeMap 我要转换为的示例字符串:LinkedTreeMap 如果我能将它转换成JSON,我也会很高兴。我不知道你到底想要什么。但是我认为您可以使用像这样的newjsonobject(map)。如果这没有帮助,请使用一些输入和输出进行详细说明。您可以将toString()值转换为JSON格式: String toStringValue = "{Path=z.jpg
如果我能将它转换成JSON,我也会很高兴。我不知道你到底想要什么。但是我认为您可以使用像这样的
newjsonobject(map)
。如果这没有帮助,请使用一些输入和输出进行详细说明。您可以将toString()
值转换为JSON
格式:
String toStringValue = "{Path=z.jpg.json, ImageProperties={Owner=Jack, ImageQuality=6}}";
String jsonValue = toStringValue.replace("{","{\").replaceAll(",\\s+","\", \"").replace("=","\":\"").replace("}","\"}");
然后这个字符串可以被任何
json
解析器解析 我发现了一个递归地将键值字符串转换为JSON的方法:
public static JSONObject convertKeyValueToJSON(LinkedTreeMap<String, Object> ltm) {
JSONObject jo=new JSONObject();
Object[] objs = ltm.entrySet().toArray();
for (int l=0;l<objs.length;l++)
{
Map.Entry o= (Map.Entry) objs[l];
try {
if (o.getValue() instanceof LinkedTreeMap)
jo.put(o.getKey().toString(),convertKeyValueToJSON((LinkedTreeMap<String, Object>) o.getValue()));
else
jo.put(o.getKey().toString(),o.getValue());
} catch (JSONException e) {
e.printStackTrace();
}
}
return jo;
}
公共静态JSONObject convertKeyValueToJSON(LinkedTreeMap ltm){
JSONObject jo=新的JSONObject();
Object[]objs=ltm.entrySet().toArray();
for(int l=0;lJSONObject无法分析此键值字符串。
public static JSONObject convertKeyValueToJSON(LinkedTreeMap<String, Object> ltm) {
JSONObject jo=new JSONObject();
Object[] objs = ltm.entrySet().toArray();
for (int l=0;l<objs.length;l++)
{
Map.Entry o= (Map.Entry) objs[l];
try {
if (o.getValue() instanceof LinkedTreeMap)
jo.put(o.getKey().toString(),convertKeyValueToJSON((LinkedTreeMap<String, Object>) o.getValue()));
else
jo.put(o.getKey().toString(),o.getValue());
} catch (JSONException e) {
e.printStackTrace();
}
}
return jo;
}