在和风天气的json数据解析中,数据开头是这样的数据
{ "HeWeather data service 3.0": [
{
"aqi": {
....
这样导致Android Studio 的GsonFormat方法失败,这是因为数据”HeWeather data service 3.0”的空格和3.0导致,那就删除吧,之后考虑解析的数据要和Bean类匹配,要对接收的json数据也要把空格删除.
参考http://www.cnblogs.com/YouknowGTJ/p/5243695.html博客发现
sbf.deleteCharAt(11);
sbf.deleteCharAt(15);
sbf.delete(22,26);
StringBuffer删除的位置很奇怪,11,15和22–26
{"HeWeather data service 3.0"
0123456789
10
11
11的位置是空格,但是下一个空格是16
最后发现,原来,删除了第一个空格后,数据是这样了
{"HeWeatherdata service 3.0"
下一个空格自然是15了
以下是网上StringBuffer.deleteCharAt()的资料
描述
java.lang.StringBuffer.deleteCharAt() 在这个序列中的指定位置删除字符。此序列是由一个char缩短
声明
以下是声明java.lang.StringBuffer.deleteCharAt()方法
public StringBuffer deleteCharAt(int index)
参数
- index – 这是该指数的字符删除
返回值
此方法返回此对象
异常
StringIndexOutOfBoundsException --如果该索引是负值或大于或等于 length().
实例
下面的例子说明了如何使用
java.lang.StringBuffer.deleteCharAt()方法
package com.yiibai;
import java.lang.*;
public class StringBufferDemo {
public static void main(String[] args) {
StringBuffer buff = new StringBuffer("Java lang package");
System.out.println("buffer = " + buff);
// deleting character from index 4 to index 9
buff.delete(4, 9);
System.out.println("After deletion = " + buff);
buff = new StringBuffer("amit");
System.out.println("buffer = " + buff);
// deleting character at index 2
buff.deleteCharAt(2);
System.out.println("After deletion = " + buff);
}
}
让我们来编译和运行上面的程序,这将产生以下结果:
buffer = Java lang package
After deletion = Java package
buffer = amit
After deletion = amt