javascript - 如何在 node.js 中提取一个对象,哪个对象是使用 bert.js 解码的?

标签 javascript node.js erlang bert-rpc

我有一个对象相当于这个 BERT (为便于阅读而包装):

{"Hello",[{1,"john","john123"},{2,"Michale","michale123"}]} 

在 Node 中:

var S = Bert.bytes_to_string([131,104,2,107,0,5,72,101,108,108,111,108,0,0,0,2,104,3,97,1,107,0,4,106,111,104,110,107,0,7,106,111,104,110,49,50,51,104,3,97,2,107,0,7,77,105,99,104,97,108,101,107,0,10,109,105,99,104,97,108,101,49,50,51,106]);
var Obj = Bert.decode(S);
console.log(obj);

我可以在控制台中看到如下。

{
  '0': {
    type: 'bytelist',
    value: 'Hello',
    toString: [ Function ],
    repr: [ Function ]
  },
  '1': [
    {
      '0': 1,
      '1': [ Object ],
      '2': [ Object ],
      type: 'tuple',
      length: 3,
      value: [ Object ],
      repr: [ Function ],
      toString: [ Function ]
    },
    {
      '0': 2,
      '1': [ Object ],
      '2': [ Object ],
      type: 'tuple',
      length: 3,
      value: [ Object ],
      repr: [ Function ],
      toString: [ Function ]
    }
  ],
  type: 'tuple',
  length: 2,
  value: [
    {
      type: 'bytelist',
      value: 'Hello',
      toString: [ Function ],
      repr: [ Function ]
    },
    [
      [ Object ],
      [ Object ]
    ]
  ],
  repr: [ Function ],
  toString: [ Function ]
}

如何获取输出为

{"Hello",[{1,"john","john123"},{2,"Michale","michale123"}]} 

从上面的对象?

最佳答案

使用

Obj['0'].value

获取字符串“hello” 和

Obj['1'].forEach(function(el){
  var fst = el['0'] //1,2
  var snd = el['1'].value //John,Mihcale
  var thd = el['2'].value  //john123,michale123
})

你只读了“[Object]”,因为 console.log 并没有深入对象层次结构,如果你想可视化所有的属性,试试这样的东西:

console.log(require('util').inspect(Obj,false,100))

关于javascript - 如何在 node.js 中提取一个对象,哪个对象是使用 bert.js 解码的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8533172/

相关文章:

java - 选择用于实现分布式消息传递算法的编程语言

database - CouchBase 1.8 和 2.0 Erlang SDK?为什么 Erlang 被排除在外

javascript - BAD Reuqest 无法创建和填充列表类型 Microsoft.AspNetCore.Http.IFormFileCollection

javascript - 使用 Moment.js 实现 24 小时倒数计时器

javascript - 需要知道创建jstree的div

javascript - 在 typescript 中导入所有内容不起作用

javascript - 添加 cordova.js 时混合移动应用程序崩溃

node.js - 无法更新nodejs ubuntu 15.01版本

javascript - 在 Knex dateTime()/MySQL DATETIME 字段中存储 Node.js 日期

string - 在元组列表上使用 Map 并将其打印为 Erlang 中的平面字符串