2012-09-23 14 views
0

我有一個名爲dbData的列表和兩個名爲infoSB和historySB的StringBuilders。我已經調試了我的項目,並且兩個StringBuilder擁有了它們應該擁有的所有數據,但由於某些原因,它還爲數據添加了一些隨機字符。所有我做過添加的數據是下面的代碼:添加被添加到列表中的字符<String>

dbData.add(infoSB.toString()); 
dbData.add(historySB.toString()); 

字符是[]和,

有沒有人碰到了在此之前,並知道如何阻止它這樣做呢?

更新:這是我如何獲取數據並將其分配給StringBuilder。

JSONObject json_data = jArray.getJSONObject(i); 
double altitudeData = json_data.getDouble("altitude"); 
double altitudeInFeet = altitudeData * 3.281; 
historySB.append("Altitude: " + df.format(altitudeInFeet) + "ft\n"); 
+0

請向我們顯示數據。 – SLaks

+0

{「longitude」:「 - 86.642」,「緯度」:「34.72533333333333」,「速度」:「0.51444444」,「標題」:「281」,「高度」:「190.8048」} – tylerbhughes

+0

這些字符是如何結束首先呢?我會糾正產生這些信息的來源,而不是在接收端以非標準方式處理它們。 – Vikdor

回答

1

這些字符是在字符串的開始和結尾,並且是中間的某個逗號嗎?這就是ListtoString方法所要做的。

如果你有三個元素

  1. 名單 「汽車」
  2. 「麪包車」
  3. 「自行車」

則列表將創建下列字符串[car, van, bike][]表示列表的開始和結束,逗號表示元素之間的邊界。

如果您只想連接字符串,則可以使用+運算符或StringBuilder/StringBuffer

例如。

String data = infoSB + historySB; 
+0

infoSB和historySB已經是StringBuilders。 – tylerbhughes

+0

是的,但'dbData'呢? – Dunes

+0

這是一個列表 tylerbhughes

0

-首先檢查你的data source,確實他們攜帶某種您收到奇怪的字符。

-一下,希望那些StringBuilder持有不JSON,我懷疑它,因爲你得到你的StringBuilders [],,所以如果它你需要先分析它們,然後需要檢索的具體數據,您想....

-可以使用trim()方法避免任何晃來晃去的空格

如:

dbData.add(infoSB.toString().trim()); 
dbData.add(historySB.toString().trim()); 

///////////////////編輯部分///////////////////

DecimalFormat df = new DecimalFormat("##.###"); 
String altitudeData = json_data.getString("altitude"); 
double altitudeInFeet = Double.parseDouble(altitudeData) * 3.281; 
historySB.append("Altitude: " + df.format(altitudeInFeet) + "ft\n"); 
+0

當我調試我的代碼時,我在將它們添加到dbData之前檢查了infoSB和historySB中的數據,並且它沒有包含奇數字符。最初的源代碼是JSONObject,但是當我解析數據時,它將數據轉換爲雙精度數據,然後將它們添加到StringBuilder中。因此它不再是JSONObject,而且字符也不在那裏。在我的問題中顯示的行之前,字符不存在。 – tylerbhughes

+0

@RandomlyKnighted好吧試試這種方式.....不要把你的數據變成雙打......只是解析它,並以String形式自己的數據...根據你對特定字段的要求是雙倍的鍵入,然後轉換它。 –

+0

IDE似乎不喜歡那樣。我將用代碼更新問題,向您展示我擁有的內容。 – tylerbhughes

相關問題