我正在使用Angular資源進行ajax調用。我有一個更新交易,其中我從數據庫中獲取數據,同時獲取數據的數據是這樣的: Angularjs將json數據轉換爲「[object Object]」
現在向此對象的空字段添加數據後,我再次將其發送到服務器,之前發送到服務器的數據正在變成這樣的不同形式:
可能的原因是什麼?我已經使用JSON.parse();但它不起作用。
- 編輯 -
這是我在哪裏轉換子對象轉換爲字符串代碼
var serverResp = res.data;
$scope.importLC.main.customerName = serverResp.customerName;
$scope.importLC.main.customerAddress1 = serverResp.customerAddress1;
$scope.importLC.main.customerAddress2 = serverResp.customerAddress2;
$scope.importLC.main.customerAddress3 = serverResp.customerAddress3;
$scope.importLC.main.issueDate = $filter('date')(new Date(), 'dd-MM-yyyy');
serverResp = $scope.importLC;
angular.forEach(serverResp, function (value, key) {
angular.forEach(serverResp[key], function (v, k) {
if (typeof serverResp[key][k] === 'object') {
angular.forEach(serverResp[key][k], function (v1, k1) {
serverResp[key][k][k1] = String(serverResp[key][k][k1]);
});
} else {
serverResp[key][k] = String(serverResp[key][k]);
}
});
});
$scope.importLC = serverResp;
我要值到字符串,但整個對象轉換得到轉換成字符串。
- 編輯 -
我爲什麼數據轉換點,實際上將數據發送到服務器我對數據應用驗證,但驗證文件只接受字符串值,所以我需要轉換前數據轉換爲字符串,這裏是在同一個地方的代碼
//Convert object to string
function convertObjectToStringSingleObject(data) {
Object.keys(data).forEach(function (key) {
data[key] = String(data[key]);
});
return data;
}
我多了一個功能:
//Convert object to string
function convertObjectToStringMultiLevelObject(data) {
Object.keys(data).forEach(function (key) {
Object.keys(data[key]).forEach(function (key1) {
data[key][key1] = String(data[key][key1]);
});
});
return data;
}
現在,如果我使用convertObjectToStringMultiLevelObject
函數,那麼我的代碼工作正常,但是我的一些其他事務需要convertObjectToStringSingleObject
。有什麼辦法可以結合這兩個函數(convertObjectToStringSingleObject
和convertObjectToStringMultiLevelObject
),並且組合函數應該足夠智能地捕獲對象的類型,我的意思是它可以是單層或多層次的json對象。
顯示一些相關的javascript –
將對象轉換爲字符串會產生'[object Object]'。這可能會有多種原因。我們需要查看更多的代碼來精確確定要將子對象轉換爲字符串的哪一點。 – Amadan