gpt4 book ai didi

javascript - Angularjs将json数据转换为 "[object Object]"

转载 作者:行者123 更新时间:2023-11-28 05:24:14 24 4
gpt4 key购买 nike

我正在使用 Angular 资源进行 ajax 调用。我有一个更新事务,其中我从数据库获取数据,在获取数据时,数据如下所示: This is browser console when i am getting data from server

现在,在将数据添加到该对象的空字段后,我再次将其发送到服务器,在发送到服务器之前,数据将转换为不同的形式,如下所示: enter image description here

可能的原因是什么?我已经使用过 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。有什么方法可以组合这两个函数(convertObjectToStringSingleObjectconvertObjectToStringMultiLevelObject),并且组合函数应该足够智能来捕获对象的类型,我的意思是它可以是单级或多级 json 对象。

最佳答案

将对象转换为字符串时使用下面的函数

var str = JSON.stringify(obj);

在从字符串化对象转换为 Javascript 对象时使用

var obj  = JSON.parse(str);

编辑

如果值为对象,则使用 JSON.stringify

    function convertObjectToStringSingleObject(data) {
Object.keys(data).forEach(function (key) {
if (typeof data[key] === "object") {
data[key] = JSON.stringify(data[key]);
} else {
data[key] = String(data[key]);
}

});
return data;
}

关于javascript - Angularjs将json数据转换为 "[object Object]",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40298851/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com