2015-11-20 66 views
0

,我有以下JSON數據:將字符串轉換CSV在JSON到數組變量

[ 
    { 
     "Title": "PAGE A", 
     "Users": "USRA" 
    }, 
    { 
     "Title": "PAGE B", 
     "Users": "USRA,USRB" 
    } 
] 

什麼是轉換與領域的最佳途徑「」到數組?並獲得使用javascript:

[ 
    { 
     "Title": "PAGE A", 
     "Users": "USRA" 
    }, 
    { 
     "Title": "PAGE B", 
     "Users": ["USRA","USRB"] 
    } 
] 
+0

看看[這裏](http://stackoverflow.com/questions/20881213/converting-json-object-into- javascript-array) – AndreaM16

+1

您需要將第一個用戶設置爲「用戶」:[「USRA」]'。 –

+0

爲什麼地球上你會想要不一致的數據類型?讓他們成爲所有陣列,不要緊,如果他們只有一個元素或不 – musefan

回答

0

做這樣的事情

var input = [ 
 
     { 
 
      "Title": "PAGE A", 
 
      "Users": "USRA" 
 
     }, 
 
     { 
 
      "Title": "PAGE B", 
 
      "Users": "USRA,USRB" 
 
     } 
 
    ]; 
 

 
var output = []; 
 

 
output = input.map(function(d){ 
 
     for (key in d){ 
 
     if (d[key].indexOf(',') !== -1){ 
 
      d[key] = d[key].split(','); 
 
      } 
 
     } 
 
    return d; 
 

 
}); 
 

 
$('#result').html(JSON.stringify(output));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="result"></div>

+0

謝謝這是一個很好的答案,因爲它測試所有鍵的「aaa,bbb」csv問題。 –

+0

歡迎,如果它工作,快樂.. :) –

2

你可以這樣做:

data = [ 
    { 
     "Title": "PAGE A", 
     "Users": "USRA" 
    }, 
    { 
     "Title": "PAGE B", 
     "Users": "USRA,USRB" 
    } 
] 

data.forEach(function(item) { 
    // the if clause keeps the single user outside of an array 
    if (item.Users && item.Users.indexOf(',') >= 0) { 
     item.Users = item.Users.split(','); 
    } 
}) 

如果你想保持一致的數據類型(使Users屬性始終是一個Array):

data.forEach(function(item) { 
    item.Users = item.Users ? item.Users.split(',') : []; 
}) 
1

一個簡單的每一個分裂是你所需要的全部

var data = [ 
    { 
     "Title": "PAGE A", 
     "Users": "USRA" 
    }, 
    { 
     "Title": "PAGE B", 
     "Users": "USRA,USRB" 
    } 
]; 

data.forEach(function (obj) { 
    obj.Users = obj.Users.split(","); 
}); 

現在,如果你真的不希望那個人是一個數組,比你需要添加一個if檢查。

data.forEach(function (obj) { 
    var parts = obj.Users.split(","); 
    if(parts.length>1) { 
     obj.Users = parts; 
    } 
});