溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript對象標注的方法是什么

發布時間:2021-12-31 10:07:05 來源:億速云 閱讀:160 作者:iii 欄目:編程語言

這篇文章主要介紹“JavaScript對象標注的方法是什么”,在日常操作中,相信很多人在JavaScript對象標注的方法是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”JavaScript對象標注的方法是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

JavaScript 對象標注

實際上,JavaScript 對象的大部分都由聯合數組、數字索引數組、字符串、數字或者這些類型的嵌套組合而成。因為所有類型都可以用 JavaScript 直接聲明,所以可以在一條語句中靜態地定義對象圖。

清單 7 使用 JSON 語法聲明了一個對象,并演示了如何訪問這個對象。大括號表示聯合數組(即對象),它的鍵 -值組合由逗號分隔。方括號表示數字索引數組。

清單 7. 用 JSON 在 JavaScript 中直接聲明一個簡單對象

var band = 

{

name: "The Beatles",

members: [

{

name: "John",

instruments: 

["Vocals","Guitar","Piano"]

},

{

name: "Paul",

instruments: 

["Vocals","Bass","Piano","Guitar"]

},

{

name: "George",

instruments:

["Guitar","Vocals"]

},

{

name: "Ringo",

instruments: 

["Drums","Vocals"]

}

]

};

// Interrogate the band object

var musician = band.members[3];

alert( musician.name

+ " played " + 

musician.instruments[0] 

+ " with " + 

band.name );



既然 JSON 是一個有趣的語言特性,那么它對 Ajax 有什么意義呢?妙處在于可以用 JSON 在 Ajax 服務器響應中通過網絡發送 JavaScript 對象圖。

這意味著在客戶端可以避免使用笨拙的 DOM API 對 XML 進行導航 —— 只需要分析 JSON 響應,就會立即得到可以訪問的 JavaScript 對象圖。但是,首先需要把 JavaBean 變成 JSON。

從 Java 類產生 JSON


不同 XML 生成技術所具有的優缺點也適用于 JSON 的產生。而且可以證明,存在需要再次使用表示模板技術的情況。但是,使用 JSON 在理念上更接近于在應用層之間傳遞序列化的對象,而不是創建應用程序狀態的視圖。

我將介紹如何用 org.json 這個 Java API 在 Java 類上創建 toJSONObject() 方法。然后,就可以把 JSONObject 簡單地序列化成 JSON。清單 8 反映了 清單 1 討論的 XML,顯示了 Order 類的 toJSONObject() 實現。

清單 8. Order 類的 toJSONObject() 方法實現

public JSONObject toJSONObject() 

{

JSONObject json = new JSONObject();

json.put("id",id);

json.put("cost",getFormattedCost());

json.put("date",date);

JSONArray jsonItems = new JSONArray();

for (Iterator



可以看到,org.json API 非常簡單。 JSONObject 代表 JavaScript 對象(即聯合數組),有不同的 put() 方法,方法接受的 String 鍵和值是原生類型、String 類型或其他 JSON 類型。

JSONArray 代表索引數組,所以它的 put() 方法只接受一個值。請注意在清單 8 中,創建 jsonItems 數組,然后再用 put() 把它附加到 json 對象上;可以用另外一種方法做這項工作,就是對每個項目調用:

json.accumulate("items",

iter.next().toJSONObject());

accumulate() 方法與 put()類似,區別在于它把值添加到按照鍵進行識別的索引數組。清單 9 顯示了如何序列化 JSONObject 并把它寫入 servlet 響應。

清單 9. 從 JSONObject 生成序列化的 JSON 響應

public void doGet(HttpServletRequest req, 

HttpServletResponse res) 

throws java.io.IOException, 

ServletException 

{

String custId =

req.getParameter("username");

Customer customer =

getCustomer(custId);

res.setContentType("application/x-json");

res.getWriter().print

(customer.toJSONObject());

}

可以看到,它實際上什么也沒有做。在這里隱式調用的 JSONObject 的 toString() 方法做了所有工作。請注意,application/x-json 內容類型還有一點不確定 —— 在編寫這篇文章的時候,關于 JSON 應當屬于什么 MIME 類型還沒有定論。但是,目前 application/x-json 是合理的選擇。清單 10 顯示了這個 servlet 代碼的示例響應。

清單 10. Customer bean 的 JSON 表示

{

"orders": 

[

{

"items": 

[

{

"price": "$49.99",

"description": "

512 Megabyte Type 1 CompactFlash card. 

Manufactured by Oolong Industries",

"name": "Oolong 512MB CF Card",

"id": "i-55768"

},

{

"price": "$299.99",

"description": "

7.2 Megapixel digital camera featuring six 

shooting modes and 3x optical zoom. Silver.",

"name": "Fujak Superpix72 Camera",

"id": "i-74491"

}

],

"date": "08-26-2005",

"cost": "$349.98",

"id": "o-11123"

}

],

"realname": "James Hyrax",

"username": "jimmy66"

}

到此,關于“JavaScript對象標注的方法是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女