2016-11-17 58 views
2

之前有一個數組:改變陣列一些價值的JavaScript我帖子API

[{"IDAlokasiEmiten":154,"IDOrganization":12,"NamaOrganization":null,"CodeEmiten":"ANTM","NameEmiten":"AAneka Tambang (Persero) Tbk"},{"IDAlokasiEmiten":0,"IDOrganization":null,"NamaOrganization":null,"CodeEmiten":"ADHI","NameEmiten":"Adhi Karya (Persero) Tbk"}] 

如何改變一些值之前,我張貼到API?

我想POST到API爲:

[{"IDAlokasiEmiten":0,"IDOrganization":12,"NamaOrganization":null,"CodeEmiten":"ANTM","NameEmiten":"AAneka Tambang (Persero) Tbk"},{"IDAlokasiEmiten":0,"IDOrganization":12,"NamaOrganization":null,"CodeEmiten":"ADHI","NameEmiten":"Adhi Karya (Persero) Tbk"}] 

這裏是我的AngularJS:

// GET Detail Alokasi Emiten 
    $scope.emit.detailDaftarEmiten = []; 
    $scope.addItemAlokasi = function() { 
     $scope.emit.detailDaftarEmiten.push({ 
      IDAlokasiEmiten: 0, 
      IDOrganization: 12, 
      NamaOrganization: '', 
      CodeEmiten: $scope.emit.detailDaftarEmiten.CodeEmiten, 
      NameEmiten: $scope.emit.detailDaftarEmiten.NameEmiten 
     }); 
     $scope.emit.detailDaftarEmiten.IDAlokasiEmiten = ''; 
     $scope.emit.detailDaftarEmiten.IDOrganization = ''; 
     $scope.emit.detailDaftarEmiten.NamaOrganization = ''; 
     $scope.emit.detailDaftarEmiten.CodeEmiten = ''; 
     $scope.emit.detailDaftarEmiten.NameEmiten = '' 
    }; 
    $scope.resetForm = function() { 
     $scope.emit.detailDaftarEmiten.IDAlokasiEmiten = ''; 
     $scope.emit.detailDaftarEmiten.IDOrganization = ''; 
     $scope.emit.detailDaftarEmiten.NamaOrganization = ''; 
     $scope.emit.detailDaftarEmiten.CodeEmiten = ''; 
     $scope.emit.detailDaftarEmiten.NameEmiten = '' 
    }; 
    $scope.deleteItem = function (index) { 
     $scope.emit.detailDaftarEmiten.splice(index, 1); 
    }; 
    $scope.getTotalItems = function() { 
     return $scope.detailDaftarEmiten.length; 
    }; 

但它不工作:(

我要爲所有的值數組(IDAlokasiEmiten=0IDOrganization=12

回答

0
var obj=your code; 
obj[0]["IDOrganisation"]=12; 
//0 -> first object in array 

這是簡單的JavaScript。你應該訪問MDN並學習更多一點...

0

是的,你可以使用普通的JavaScript來做到這一點,沒有庫使用forEach方法。

forEach

arr=[{"IDAlokasiEmiten":154,"IDOrganization":12,"NamaOrganization":null,"CodeEmiten":"ANTM","NameEmiten":"AAneka Tambang (Persero) Tbk"},{"IDAlokasiEmiten":0,"IDOrganization":null,"NamaOrganization":null,"CodeEmiten":"ADHI","NameEmiten":"Adhi Karya (Persero) Tbk"}] 
 
arr.forEach(function(a){ 
 
    a["IDAlokasiEmiten"]=0; 
 
    a["IDOrganization"]=12; 
 
}); 
 
console.log(arr);

0

你可以用下面的語句嘗試。

var arr = [{"IDAlokasiEmiten":154,"IDOrganization":12,"NamaOrganization":null,"CodeEmiten":"ANTM","NameEmiten":"AAneka Tambang (Persero) Tbk"},{"IDAlokasiEmiten":0,"IDOrganization":null,"NamaOrganization":null,"CodeEmiten":"ADHI","NameEmiten":"Adhi Karya (Persero) Tbk"}]; 
arr.map(i=>{i.IDAlokasiEmiten=0;i.IDOrganization=12;}) 
0
var a = [{"IDAlokasiEmiten":154,"IDOrganization":12,"NamaOrganization":null,"CodeEmiten":"ANTM","NameEmiten":"AAneka Tambang (Persero) Tbk"},{"IDAlokasiEmiten":0,"IDOrganization":null,"NamaOrganization":null,"CodeEmiten":"ADHI","NameEmiten":"Adhi Karya (Persero) Tbk"}]; 

a.forEach(function(e) { 
    e.IDAlokasiEmiten = 0; 
    e.IDOrganization = 12; 
}); 

JSON.stringify(a); 
+0

這可能回答這個問題,但它可能是一個好主意,提供一些解釋,爲什麼和如何工作的。僅有代碼的答案對未來發現此問題的其他人不太有用。 – Aurora0001

0

首先,它的JSON數據。

你必須首先反序列化,然後序列化回json。

public class Sample 
{ 
    public int IDAlokasiEmiten { get; set; } 
    public int? IDOrganization { get; set; } 
    public object NamaOrganization { get; set; } 
    public string CodeEmiten { get; set; } 
    public string NameEmiten { get; set; } 
} 

使用NewtonSoft.JSON DLL的相同。

您可以將此json反序列化爲SampleClass[],然後遍歷它並設置每個對象的屬性。

JSON

[{ 
    "IDAlokasiEmiten": 154, 
    "IDOrganization": 12, 
    "NamaOrganization": null, 
    "CodeEmiten": "ANTM", 
    "NameEmiten": "AAneka Tambang (Persero) Tbk" 
}, { 
    "IDAlokasiEmiten": 0, 
    "IDOrganization": null, 
    "NamaOrganization": null, 
    "CodeEmiten": "ADHI", 
    "NameEmiten": "Adhi Karya (Persero) Tbk" 
}] 

C#代碼:

string json = ""; //your json string. 
    SampleClass[] arr = JsonConvert.DeserializeObject<SampleClass[]>(json); 
    foreach (SampleClass obj in arr) 
    { 
     obj.IDAlokasiEmiten = 0; 
     obj.IDOrganization = 12; 
    }