2015-10-20 40 views
5

我有一個解析的Json字符串,我想進一步拆分爲4個不同的數組。我曾嘗試使用$.parseJson('[' + data + ']');,它將所有數據都返回到一個數組中。更確切地說,我需要它看起來更像catData = [Object, Object, Object, Object]感謝您的幫助。從解析的JSON字符串創建4個數組

我的數據是在外觀還是未來類似這樣的

[{\"LkpMasterID\":491,\"LkpMasterCode\":\"CAT INSURANCE\",\"LkpMasterDescription\":\"25\",\"Attribute\":\"Cat Values\",\"Dependency\":null,\"LkpName\":\"CAT INSURANCE\",\"IsAttribute\":false,\"IsActive\":true,\"CreatedBy\":52834,\"CreatedOn\":\"2015-09-15T15:25:46.273\",\"UpdatedBy\":null,\"UpdatedOn\":null,\"IsDeleted\":false,\"ProcessedPage\":\"Master.aspx\",\"DisplayOrder\":1},{\"LkpMasterID\":492,\"LkpMasterCode\":\"CAT SUPPLEMENTS\",\"LkpMasterDescription\":\"50\",\"Attribute\":\"Cat Values\",\"Dependency\":null,\"LkpName\":\"CAT SUPPLEMENTS\",\"IsAttribute\":false,\"IsActive\":true,\"CreatedBy\":52834,\"CreatedOn\":\"2015-09-15T15:28:36.2\",\"UpdatedBy\":56366,\"UpdatedOn\":\"2015-09-16T10:26:36.95\",\"IsDeleted\":false,\"ProcessedPage\":\"Master.aspx\",\"DisplayOrder\":2},{\"LkpMasterID\":493,\"LkpMasterCode\":\"OTHER CATS\",\"LkpMasterDescription\":\"30\",\"Attribute\":\"Cat Values\",\"Dependency\":null,\"LkpName\":\"OTHER CATS\",\"IsAttribute\":false,\"IsActive\":true,\"CreatedBy\":56366,\"CreatedOn\":\"2015-09-16T10:27:37.777\",\"UpdatedBy\":null,\"UpdatedOn\":null,\"IsDeleted\":false,\"ProcessedPage\":\"Master.aspx\",\"DisplayOrder\":3},{\"LkpMasterID\":495,\"LkpMasterCode\":\"SHORT-TERM CATS\",\"LkpMasterDescription\":\"30\",\"Attribute\":\"CAT Values\",\"Dependency\":null,\"LkpName\":\"SHORT-TERM CATS\",\"IsAttribute\":false,\"IsActive\":true,\"CreatedBy\":56366,\"CreatedOn\":\"2015-10-02T00:00:00\",\"UpdatedBy\":null,\"UpdatedOn\":null,\"IsDeleted\":false,\"ProcessedPage\":\"Master.aspx\",\"DisplayOrder\":4}]" 


$.getJson('LkpMasterTable', function (data) { var catData = JSON.Parse(data)) } 

var catData = [ 
{"LkpMasterID":491,"LkpMasterCode":"CAT INSURANCE","LkpMasterDescription":"25","Attribute":"Cat Values","Dependency":null,"LkpName":"CAT INSURANCE","IsAttribute":false,"IsActive":true,"CreatedBy":52834,"CreatedOn":"2015-09-15T15:25:46.273","UpdatedBy":null,"UpdatedOn":null,"IsDeleted":false,"ProcessedPage":"Master.aspx","DisplayOrder":1}, 

{"LkpMasterID":492,"LkpMasterCode":"CAT SUPPLEMENTS","LkpMasterDescription":"50","Attribute":"Cat Values","Dependency":null,"LkpName":"CAT SUPPLEMENTS","IsAttribute":false,"IsActive":true,"CreatedBy":52834,"CreatedOn":"2015-09-15T15:28:36.2","UpdatedBy":56366,"UpdatedOn":"2015-09-16T10:26:36.95","IsDeleted":false,"ProcessedPage":"Master.aspx","DisplayOrder":2}, 

{"LkpMasterID":493,"LkpMasterCode":"OTHER CATS","LkpMasterDescription":"30","Attribute":"Cat Values","Dependency":null,"LkpName":"OTHER CATS","IsAttribute":false,"IsActive":true,"CreatedBy":56366,"CreatedOn":"2015-09-16T10:27:37.777","UpdatedBy":null,"UpdatedOn":null,"IsDeleted":false,"ProcessedPage":"Master.aspx","DisplayOrder":3}, 

{"LkpMasterID":495,"LkpMasterCode":"SHORT-TERM CATS","LkpMasterDescription":"30","Attribute":"Cat Values","Dependency":null,"LkpName":"SHORT-TERM CATS","IsAttribute":false,"IsActive":true,"CreatedBy":56366,"CreatedOn":"2015-10-02T00:00:00","UpdatedBy":null,"UpdatedOn":null,"IsDeleted":false,"ProcessedPage":"Master.aspx","DisplayOrder":4} 
    ] 
+0

你得到的確切的原始JSON是什麼? –

+0

僅供參考,'getJson'返回JSON數據,不需要再次解析 – Tushar

+1

'$ .getJson'應該是'$ .getJSON' – charlietfl

回答

3

FIDDLE

你可以做的是使用jQuery的map function「翻譯在數組或對象,以項目的新陣列中的所有項目。」

var catData = [ 
{"LkpMasterID":491,"LkpMasterCode":"CAT INSURANCE","LkpMasterDescription":"25","Attribute":"Cat Values","Dependency":null,"LkpName":"CAT INSURANCE","IsAttribute":false,"IsActive":true,"CreatedBy":52834,"CreatedOn":"2015-09-15T15:25:46.273","UpdatedBy":null,"UpdatedOn":null,"IsDeleted":false,"ProcessedPage":"Master.aspx","DisplayOrder":1}, 

{"LkpMasterID":492,"LkpMasterCode":"CAT SUPPLEMENTS","LkpMasterDescription":"50","Attribute":"Cat Values","Dependency":null,"LkpName":"CAT SUPPLEMENTS","IsAttribute":false,"IsActive":true,"CreatedBy":52834,"CreatedOn":"2015-09-15T15:28:36.2","UpdatedBy":56366,"UpdatedOn":"2015-09-16T10:26:36.95","IsDeleted":false,"ProcessedPage":"Master.aspx","DisplayOrder":2}, 

{"LkpMasterID":493,"LkpMasterCode":"OTHER CATS","LkpMasterDescription":"30","Attribute":"Cat Values","Dependency":null,"LkpName":"OTHER CATS","IsAttribute":false,"IsActive":true,"CreatedBy":56366,"CreatedOn":"2015-09-16T10:27:37.777","UpdatedBy":null,"UpdatedOn":null,"IsDeleted":false,"ProcessedPage":"Master.aspx","DisplayOrder":3}, 

{"LkpMasterID":495,"LkpMasterCode":"SHORT-TERM CATS","LkpMasterDescription":"30","Attribute":"Cat Values","Dependency":null,"LkpName":"SHORT-TERM CATS","IsAttribute":false,"IsActive":true,"CreatedBy":56366,"CreatedOn":"2015-10-02T00:00:00","UpdatedBy":null,"UpdatedOn":null,"IsDeleted":false,"ProcessedPage":"Master.aspx","DisplayOrder":4} 
    ] 

var arr = $.map(catData, function(x) { return x; }) 

console.log(arr) 

使用地圖的樣子 'catData = [對象,對象,對象,對象]' 的results

+0

這到底是什麼意思?由於您使用的是識別功能,因此'catData'和'arr'看起來完全一樣。不知道我在這裏理解'$ .map'的用途。 OP接受這個事實意味着他們不理解它的解決方案,或者他們想要的東西與問題中所解釋的完全不同。如果你想做一個數組的淺拷貝,var arr = catData.slice(0);'會更簡單。 –