2012-02-23 63 views
1

我想爲我的數據創建json對象。JSON中.put()和.element()方法的區別?

我發現,我能做到這一點使用兩種方法: -

put()element()

請建議我,應該使用。

我的數據是,例如: - 提前

key="id" value=32 

謝謝!

+2

errrmmm ...您將需要包括比)的詳細信息...什麼/哪裏有方法'把()'和'元素(' - 用什麼語言? – ManseUK 2012-02-23 15:02:04

+0

「{id:32}」來自哪些方法以及哪些方法錯誤? JSON只是一個字符串,後來由JS引擎解釋爲產生一個對象。因此,爲什麼你需要方法來構造一個簡單的JavaScript數組或對象? – 2012-02-23 15:03:50

+0

嗨,我使用spring框架來開發一個web應用程序。爲此,我必須將數據從服務器發送到客戶端,反之亦然。我正在使用「JSON」格式進行數據傳輸.....因此,爲此,我想爲數據創建一個json對象,並且我將發送給客戶端...要使用數據創建這些對象,請在[ JSON文件(http://json-lib.sourceforge.net/apidocs/jdk15/index.html),它們提供了兩個方法,把()和元素()......現在,我想知道,之間的區別兩種方法。 – mayur 2012-02-24 06:24:13

回答

1

在檢查源代碼之後,似乎put和element之間的差異非常小。

主要區別在於put看起來會返回之前在屬性映射中輸入的位置處鍵的對象。所以,如果你有一個JSONObject結構類似這樣:

{ 
    "steve": 4, 
    "betty": 5 
} 

並執行這樣的命令:

對象坦誠= myJsonObject.put( 「史蒂夫」,10);

坦誠的值現在是4和JSON對象,現在是這樣的:

{ 
    "steve":10, 
    "betty":5 
} 

如果您用過.element("steve", 10);在相同的情況下,從方法返回的對象實際上是您的JSONObject。兩者之間的另一個區別是put方法的第一個參數是一個對象,element方法的第一個參數是String。該put方法簡單確實對發送到它的第一個參數String.valueOf(),然後調用element方法,所以基本上他們都做同樣的事情,只有put更加靈活和技術上允許非字符串鍵然後被轉換成字符串之前調用方法element

簡而言之,它們具有不同的參數和返回值,但put方法只是調用元素方法,所以JSONObject內部沒有什麼區別,但可能在外部代碼中。

我猜jQuery用戶寧願使用element由於與該語言的相似之處在於該方法返回調用對象。

+0

感謝您的信息。去年我發佈了這篇文章,但是直到現在我還不清楚差別。 – mayur 2013-01-31 07:47:55

+1

如果對任何人都不明顯,因爲'element'方法返回對json對象的引用,所以它允許方法鏈接,例如, 'myJsonObject.element( 「A」, 「1」)。元素( 「B」, 「2」)。元素( 「C」, 「3」)...' – RTF 2014-12-06 15:03:48

相關問題