JSON格式非常舒适。我写了一个简单的代码到SOAP响应V1转换成JSON:
public static String soapStrToJson(String input)
{
String output;
output = input;
output = output.replace("key=", "\"");
output = output.replace("; value=", "\":");
output = output.replace("; };",",");
output = output.replace("item=anyType{","");
output = output.replace("Map","");
output = output.replace(",}","}");
output = output.replace(", }"," }");
output = output.replace("null","0");
Pattern pattern = Pattern.compile(":(.*?),");
Matcher matcher = pattern.matcher(output);
List<String> wordsToReplace = new ArrayList();
while (matcher.find())
{
String str = matcher.group(0);
if(str.contains("{") || str.contains("["))
continue;
str = str.replace(":", "");
str = str.replace(",", "");
if(str.matches("^-?\\d+$"))
continue;
System.out.println("-->" + str);
wordsToReplace.add(str);
}
for(String str : wordsToReplace)
{
output = output.replace(":"+str+",", ":\""+str+"\",");
}
return output;
}
,并使用此功能为:那我不使用env.bodyIn SoapObject
parseCategoryJSON(new JSONObject(soapStrToJson(env.getResponse().toString())))
注。
这可能不是所有响应的完美转换器,因此请根据您的要求修改'String.replace'和Pattern-Matcher。
在上面的例子中,假设countryName =“”那么它解析它的值为anyType。字符串countryName = anyType ..任何解决方案? – 2013-12-30 05:59:04