如何从值为true的json获取键值

时间:2014-01-23 13:08:40

标签: javascript json

我有一个json,我需要从json获取键值,其值为true。

这是我所期待的。

预期:

{
      "isChrome": true,
      "isDesktop": true,
      "isWindows": true  
}

问题:

    {
      "isMobile": false,
      "isiPad": false,
      "isiPod": false,
      "isiPhone": false,
      "isAndroid": false,
      "isBlackberry": false,
      "isOpera": false,
      "isIE": false,
      "isIECompatibilityMode": false,
      "isSafari": false,
      "isFirefox": false,
      "isWebkit": false,
      "isChrome": true,
      "isKonqueror": false,
      "isOmniWeb": false,
      "isSeaMonkey": false,
      "isFlock": false,
      "isAmaya": false,
      "isEpiphany": false,
      "isDesktop": true,
      "isWindows": true,
      "isLinux": false,
      "isMac": false,
      "isBada": false,
      "isSamsung": false,
      "isRaspberry": false,
      "isBot": false,
      "isCurl": false,
      "isAndroidTablet": false,
      "Browser": "Chrome",
      "Version": "32.0.1700.76",
      "OS": "Windows 7",
      "Platform": "Microsoft Windows",
      "GeoIP": {},
      "source": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36"
    }

2 个答案:

答案 0 :(得分:1)

var result = {};
for (var key in data) {
    if (data[key] === true) {
        result[key] = true;
    }
}
console.log(result);

<强>输出

{ isChrome: true, isDesktop: true, isWindows: true }

答案 1 :(得分:0)

var result = {};
for (var key in input.Problem) {
    if (input.Problem[key] === true) {
        result[key] = true;
    }
}