由于前段时间自己调试一个接口需要将XML和JSON相互转换,但在将Bean对象转换成JSON时候,我使用的json包会把每个属性的首字母小写。而我要提交到接口方的XML文件需要首字母大写,自己写了个字符串转换的方法。
public class StringUtil{
public static void main(String[] args){
System.out.println(daysOfTwo("20120501","20120420"));
}
/**
* 将's'后面的首字母大写
* @param str
* @param length
* @return
*/
public static String digui(String str,int length,char s){
if(length<0){
return str;
}
int count=0;
int x=0;
for(int i=0;i<str.length();i++){
if(s==str.charAt(i))
{
count++;
if(count==length)
x=i;
}
}
str=str.substring(0,x+1)+str.substring(x+1,x+2).toUpperCase()+str.substring(x+2);
length-=1;
return digui(str,length,s);
}
/**
* Json转换成需要的XMl字符串 pw
* @param json
* @return
*/
public static String getXml(JSONObject json){
String xml = new XMLSerializer().write(json);//json转换成XML
int x=xml.length()-xml.replace("<","").length();//计算xml字符串中<的个数
String xml1=digui(xml,x,'<');//调用方法将<后的首字母大写
int y=xml1.length()-xml1.replace("/", "").length();
String xml2=digui(xml1,y,'/');
return xml2;
}
}