验证/清除JSON数据

时间:2009-10-08 12:13:52

标签: javascript json

我正在进行Web服务调用并接收JSON格式的响应。收到回复后,我想在页面中显示数据。在我在页面上显示这些数据之前,我需要执行检查以确保定义了某些元素,如果没有给它们默认值(例如下面的例子)。

var scoreSummary = JSON.parse(response).summary;
var gameStatus = scoreSummary.gameStatus ? scoreSummary.gameStatus : 'pre';
var homeRanking = scoreSummary.homeRank ? scoreSummary.homeRank : '';
var awayRanking = scoreSummary.awayRank ? scoreSummary.awayRank : ''

现在我有几个页面,我可以调用这个相同的Web服务,我不想复制所有检查,并设置默认值。有没有办法可以集中这些检查,以便我只将它们放在一个地方,而不是分散在几个页面中,每个页面都进行相同的服务调用?

由于

2 个答案:

答案 0 :(得分:4)

将检查放在外部.js文件中的函数内,并将该脚本文件链接到进行Web服务调用的页面上。

在成功的AJAX响应中,调用传递responseText的函数(或从响应中解析的JavaScript对象),执行验证,并将带有默认值的响应返回给调用代码。

答案 1 :(得分:4)

就像一个函数调用?

function setDefaultValues(jsonResponse) {
  var scoreSummary = JSON.parse(jsonResponse).summary;
  scoreSummary.gameStatus = scoreSummary.gameStatus || 'pre';
  scoreSummary.homeRank   = scoreSummary.homeRank || '';
  scoreSummary.awayRank   = scoreSummary.awayRank || '';
  return scoreSummary;
}