2016-12-06 46 views
-1

我想達到的是值通過REST消息發送到,我試圖將這些值放在JSON格式中,以便它們可以放置到表單中的字段。構建JSON與數組元素的數組值是不確定的

var membersToAddArry = []; 
membersToAddArry = request.queryParams.MembersToAdd.toString().split(";");  

    for(var x = 0; x < membersToAddArry.length-1; x++) 
    { 
     dn = membersToAddArry[x].toString(); 
     userJSONAdd["DistinguishedName"] = dn; 
     userJSONAddn[x] = userJSONAdd; 
    } 
    return userJSONAddn; 

發送的數據:

CN=smcgh,OU=Lost-Found,OU=Corp,DC=test,DC=COMPANY,DC=com; 

CN=syouz,OU=Lost-Found,OU=Corp,DC=test,DC=COMPANY,DC=com;

這將返回:

{ 
    "result": { 
    "0": { 
     "DistinguishedName": "CN=syouz,OU=Lost-Found,OU=Corp,DC=test,DC=COMPANY,DC=com" 
    }, 
    "1": { 
     "DistinguishedName": "CN=syouz,OU=Lost-Found,OU=Corp,DC=test,DC=COMPANY,DC=com" 
    } 
    } 
} 

信息的兩位被重複我怎樣才能停止?

+1

你確定你想在分號,而不是在逗號分割? –

+0

數組中的最後一個條目是'''',並且你在每個循環中覆蓋*'userJSONAdd',所以只剩下最後一個元素,這恰好是一個空字符串... – deceze

+0

@KamenMinkov我需要完整的Distinguished姓名難過 –

回答

1

在for循環中重新設置對象userJSONAdd。否則,你添加相同的對象兩次,但後來改變了場DistinguishedName的價值,所以你得到兩次相同的值:

var membersToAddArry = []; 
membersToAddArry = request.queryParams.MembersToAdd.split(";");  

for(var x = 0; x < membersToAddArry.length-1; x++) 
{ 
    userJSONAdd = {}; 
    dn = membersToAddArry[x].toString(); 
    userJSONAdd["DistinguishedName"] = dn; 
    userJSONAddn[x] = userJSONAdd; 
} 
return userJSONAddn; 
+0

是的,你是男人,非常感謝你 –