2012-05-18 98 views
-3

我想(在Javascript的ColdFusion的)轉換:JSON轉換的問題

{"val1":"member","val2":"book","val3":"journal","val4":"new_member","val5":"cds"}, 

進入這個:

{ member,book,journal,new_member,cds} 

請注意,我試圖消除報價。

有沒有可能做到這一點?我該怎麼做?

感謝

湯姆

+1

「成員」,「書」等必須是字符串,除非您計劃用這些名稱聲明變量。 – jbabey

+2

看起來像輸入是一個JSON,但你的預期輸出是什麼? CF陣列?或JS陣列? – Henry

+0

「{member,book,journal,new_member,cds}」究竟是什麼?一個東西?一個字符串? –

回答

2

好了,所以這樣的: { 「VAL1」: 「成員」, 「值2」: 「書」, 「VAL3」: 「日誌」, 「VAL4」:」 new_member「,」val5「:」cds「} 是JSON。

要轉換爲CF結構,你會是這樣的:

myStruct = deserializeJSON('{"val1":"member","val2":"book","val3":"journal","val4":"new_member","val5":"cds"}'); 

(請注意我的例子假設我們是一個<CFSCRIPT>塊內運行。) 現在你已經有了一個簡單的結構與鍵/值對。但是你想要一個值的列表。所以讓我們創建一個空字符串,然後將所有結構值附加到它:

myList = ""; 
for (k IN myStruct) { 
    myList = listAppend(myList,myStruct[k]); 
} 

Boom。 myList現在應該是「成員,書籍,日記,新成員,CD」 如果你真的想把它裹在花括號裏。

myList = "{"&myList&"}"; 
+0

謝謝你Dave – anarchos78

+1

這裏要記住的一件事是,當你循環訪問結構體中的鍵時,不能保證鍵的順序。所以如果列表中項目的順序很重要,那麼你需要稍微改變一下。 – baynezy

0

首先,我必須感謝您的回覆。但你們中的一些人必須對新手更有禮貌。

var tata = {"val1":"member","val2":"book","val3":"journal","val4":"new_member","val5":"cds"} 
var arr=[] 

for (var i in tata) { 
    arr.push(tata[i]) 
}; 
console.log(arr); 


wrd = new Array(arr) 
var joinwrd = wrd.join(","); 
console.log('{' + joinwrd + '}');