1
[
 {
  "businesscards_id":"12",
  "X_SIZE":"1.75x3",
  "X_PAPER":"14ptGlossCoatedCoverwithUV(C2S)",
  "X_COLOR":"1002",
  "X_QTY":"250",
  "O_RC":"NO",
  "F_PRICE":"12490",
  "UPS_GROUND":"12000",
  "UPS_TWODAY":"24000",
  "UPS_OVERNIGHT":"36000"
 }
]

此 JSON 编码响应可在 Chrome 的控制台中看到。该数组是从数据库查询返回的。它显示了我的表列名。出于安全原因,我不想显示我的表列名。如何混淆或散列和/或编码或动态重写此 JSON 对象以保持我的表列名称私有?

4

3 回答 3

5

不要对你的 JSON 做任何事情。

如果您不希望您的列名可见,请不要使用您的列名。使用新键创建一个新数组以使用 JSON 发送,然后将该数组更改回包含您的列名的数组。

但这真的不应该是人们看到它们的问题。没有人可以访问您的数据库,因此让人们看到列名不是问题。

于 2012-11-03T21:18:33.577 回答
1

SQL 语句:

SELECT `col_name` AS 'something_else'

但是,正如其他人所说,不要为了安全而这样做。这是没有意义的。

于 2012-11-05T02:00:50.867 回答
1

这实际上取决于您希望在收到记录后如何使用它。一种策略可能是只返回一个值数组,丢弃键。然后在您的代码中,使用您在处理记录时需要哪个数组值的私人知识。就像是:

var result=[];
Object.keys(record).forEach(function(key){result.push(record[key]);});

然后在您的代码中,使用数组索引来访问这些值。

于 2012-11-03T21:22:21.280 回答