第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

來自 Java Web 服務(wù)的 JSON 結(jié)果中的意外令牌 B

來自 Java Web 服務(wù)的 JSON 結(jié)果中的意外令牌 B

絕地無雙 2022-06-15 17:01:50
我創(chuàng)建了一個 Web 服務(wù),它在輸出中返回一個 JSON 格式的字符串,但我的 JSON 解析出錯:Unexpected token B in JSON at position 46我試圖調(diào)試程序,但沒有發(fā)現(xiàn)錯誤。這是返回 JSON 的方法:public String executeQueryTOJSON(String sql) // metodo utilizzato per eseguire i servizi di GET{    String error = "";    StringBuilder json = new StringBuilder("[ ");    if (_Connected) // controllo l'avvenuta connessione    {        try {            stmt = _conn.createStatement();            ResultSet rs = stmt.executeQuery(sql); // executeQuery è un comando che permette di eseguire le query di                                                   // selezione e restituisce le righe del risultato della query            // System.out.println("query fatta");            // a= rs.getString("accountname");            java.sql.ResultSetMetaData rsmd = rs.getMetaData(); // oggetto rsmd con il comando getMetaData() viene                                                                // utilizzato per scoprire le colonne dell'oggetto                                                                // rs            int cols = rsmd.getColumnCount(); // il comando getColumnCount() serve per calcolare il numero di                                              // colonne dell'oggetto rsmd            int count = 0; // variabile di appoggio per controllare se si trasferisce un valore nullo            while (rs.next()) { // ciclo che si ripette in base alle righe di rs{                // String foundType = rs.getString(1);                // System.out.println(foundType);                count++;                json.append("{ ");                // errore precedente -> "< cols" non faceva il giusto ciclo di parsing 
查看完整描述

3 回答

?
侃侃爾雅

TA貢獻1801條經(jīng)驗 獲得超16個贊

我認為在本節(jié)中:


 default:

    (check == false)

     json.append(rs.getObject(i).toString());

     //System.out.println(json);

    }

您正在嘗試將對象轉(zhuǎn)換為字符串。除非您覆蓋 toString 方法以打印值,否則它將始終打印 [B@7a9e5ed5。此代碼是對象的字符串值。你不能直接把對象變成字符串。


查看完整回答
反對 回復 2022-06-15
?
米琪卡哇伊

TA貢獻1998條經(jīng)驗 獲得超6個贊

你看,B@7a9e5ed5是你要顯示的值的地址。


 json.append(rs.getObject(i).toString()); In this line, the to string method must be overriden for your type of object.

例如,如果我有一個studentClass Student的對象并且我沒有覆蓋該toString()方法。如果我使用student.toString();它將打印對象學生保存在內(nèi)存中的地址值。


例如,如果我想查看學生的值,我將不得不重寫類中的 toString 方法。


@Override

public String toString(){

   return this.getName() + " " + this.getClass();

}

上面只是一個例子,在你的代碼中,你需要知道你從結(jié)果集中得到了哪種類型的對象,并且你需要重寫那個類中 toString 的方法。


希望這是有道理的。


查看完整回答
反對 回復 2022-06-15
?
米脂

TA貢獻1836條經(jīng)驗 獲得超3個贊

檢查標志僅對整數(shù)為真。

對于默認塊中的其他類型,您直接將對象轉(zhuǎn)換為 String 以獲得非字符值,您需要覆蓋 toString 方法才能進行準確的轉(zhuǎn)換。確保覆蓋 toString 或提供具有適當異常捕獲機制的 String.valueOf


查看完整回答
反對 回復 2022-06-15
  • 3 回答
  • 0 關(guān)注
  • 122 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號