Javascript JSON字符串化重新结构

Javascript JSON字符串化重新结构,javascript,arrays,json,stringify,Javascript,Arrays,Json,Stringify,我有一个数据库,有多个单元格,每个单元格下都有值 单元格包括:id、名称、持续时间、日期和关系id 我有以下代码: var result={} properties.data.forEach(addToResult)//使用properties.data从数据库获取数据 instance.data.datavarb=JSON.stringify(结果)//转换为JSON后发送数据 函数addToResult(pair,isjson){//操作 if(isjson==true)result[pa

我有一个数据库,有多个单元格,每个单元格下都有值

单元格包括:id、名称、持续时间、日期和关系id

我有以下代码:

var result={}
properties.data.forEach(addToResult)//使用properties.data从数据库获取数据
instance.data.datavarb=JSON.stringify(结果)//转换为JSON后发送数据
函数addToResult(pair,isjson){//操作
if(isjson==true)result[pair.key]=JSON.parse(pair.value);else result[pair.key]=pair.value;

}
您可以测试这些值是否像整数,并对其进行解析

function addToResult(pair,isjson){ //operations
    if(isjson===true) {
        result[pair.key] = JSON.parse(pair.value); 
    } else if (/^\d+$/.test(pair.value)) {
        result[pair.key] = Number(pair.value);
    } else {
        result[pair.key] = pair.value;
    }
}

您可以测试这些值是否看起来像整数,并解析它们

function addToResult(pair,isjson){ //operations
    if(isjson===true) {
        result[pair.key] = JSON.parse(pair.value); 
    } else if (/^\d+$/.test(pair.value)) {
        result[pair.key] = Number(pair.value);
    } else {
        result[pair.key] = pair.value;
    }
}


JSON坚持要引用财产名称;如果不是,那就不是JSON。JSON没有将值转换为字符串,它们一定是原始
属性.data
中的字符串。感谢您的回答@Pointy,但我正在尝试使用此资源:检查它们的加载数据如何工作。@K3ny1如果您查看它们的
任务.JSON
示例,它在属性名周围有引号。JSON的键始终是字符串,即使您没有在它们上加双引号。那么问题出在哪里呢?JSON坚持要引用属性名;如果不是,那就不是JSON。JSON没有将值转换为字符串,它们一定是原始
属性.data
中的字符串。感谢您的回答@Pointy,但我正在尝试使用此资源:检查它们的加载数据如何工作。@K3ny1如果您查看它们的
任务.JSON
示例,它在属性名周围有引号。JSON的键始终是字符串,即使您没有在它们上加双引号。那么问题出在哪里呢?您好,我现在会测试它,顺便说一句,我想在else if中缺少a)谢谢!是的,我在这里一直这样做,也习惯于自动平衡的IDE…你好,Barmar,代码似乎工作得很好,但我面临一个小问题,我的代码在从数据库获取值之前运行,并返回一个缺少值的错误。这段代码应该在数据库查询的回调函数中。非常感谢@Barmar,我很快就能做到。我还需要从id、名称、持续时间和日期标题中删除“”。有可能像你那样吗?您好,我现在会测试它,顺便说一句,我想在其他情况下如果丢失了a)谢谢!是的,我在这里一直这样做,也习惯于自动平衡的IDE…你好,Barmar,代码似乎工作得很好,但我面临一个小问题,我的代码在从数据库获取值之前运行,并返回一个缺少值的错误。这段代码应该在数据库查询的回调函数中。非常感谢@Barmar,我很快就能做到。我还需要从id、名称、持续时间和日期标题中删除“”。有可能像你那样吗?