json的键为变量而不是字符串时,怎么写?

看栗子


/* 首先你创建了一个window的属性叫b, 并给它赋值为'cccddd'
 * 然后你创建了一个对象"a", 声明了一个它的属性叫b, 并且给b赋值为6
 * 注意第一行的b实质上是window.b, 第二个的b是a.b
 * 这是两个对象的两个属性而已, 除了叫一个名没其他联系
 */
var b = 'ccc' + 'ddd';
var a = {};
a[b] = 6;
console.log(a.cccddd); // 6
console.log(window.b); // cccddd

或者可以这样

var c = 'ccc';
var d = 'ddd';
var b = c +''+ d;
var a = {};
a[b] = 6;
console.log(a.cccddd); // 6
console.log(window.b); // cccddd

应用

根据消息的类型,发送Id,接收Id。统计未读消息。

var msg= ret.result.message;
var key = msg.conversationType+"_"+msg.senderUserId+"_"+msg.targetId;

// 统计未读消息数目
var messagesMapping = $api.getStorage('messagesMapping');
if (messagesMapping[key]) {
    messagesMapping[key] += 1;
} else {
    messagesMapping[key] = 1;
}
$api.setStorage('messagesMapping',messagesMapping);       

将这三个变量作为json的key,就能够很好的存储数据和读取数据了。

原文地址:https://www.cnblogs.com/jiqing9006/p/7070658.html