如何获取密钥并将其附加到json文件中的下一个值?

时间:2018-06-12 21:03:56

标签: javascript json

我的情况是这样的:

string line = Stream.ReadLine();
line = line.Replace('\xA0', ' ');

预期产出:

var data = { 
    name : 'joe',
    message : 'Welcome ' + name,
    fullname : 'Mr. ' + name
};

怎么做?

6 个答案:

答案 0 :(得分:3)

可能最接近的方法是使用函数作为参数。

const data = {
   name: 'Joe',
   message: function() {
      return `Welcome ${this.name}`;
   }
}

console.log(data.message())

但是,请记住,这不适用于本机JSON对象,仅适用于JS对象。

答案 1 :(得分:2)

您可以使用get()在对象内定义函数getter,然后将其称为property

var data = { 
  name : 'joe',
  message : 'Welcome ',
  name : 'Mr. ',
  get fullMessage() {
    return this.message + this.name;
  }
};

console.log(data.fullMessage);

答案 2 :(得分:0)

您可以使用以下函数替换message和fullname字符串:

var data = { 
    name : 'joe',
    message : function() { return 'Welcome ' + this.name },
    fullname : function() { return 'Mr. ' + this.name }
}

console.log(data.message())
console.log(data.fullname())

答案 3 :(得分:0)

如果要在变量初始化中执行此操作,可以使用函数执行此操作。例如:

var data = { 
    name : 'joe',
    message: function(){
    	return 'Welcome ' + this.name;
    },
    fullname: function(){
    	return 'Mr. ' + this.name;
    }
}

console.log('user : ' + data.message());
console.log('user : ' + data.fullname());

答案 4 :(得分:0)

您可以使用getter s:



var data = { 
    name : 'joe',
    get message() { return `Welcome ${this.name}`; },
    get fullname() { return `Mr. ${this.name}`; },
};

console.log(data.message);
console.log(data.fullname);




答案 5 :(得分:-1)

您可以使用jSON对象的外部变量。 试试:

var name = "joe";
var data = { 
        name : name,
        message : 'Welcome ' + name,
        fullname : 'Mr. ' + name
    };
    
console.log(' user : ' + data.message);