如何在json文件中添加变量?

时间:2016-04-27 11:26:32

标签: json variables configuration

下面是json文件。我想使用db password和db username的变量。如何在json中添加变量?

{
  "name" : "mydb3",
  "storage" : {
    "binaryStorage" : {
      "type"  : "database",
      "driverClass" : "com.mysql.jdbc.Driver",
      "url" : "$jdbcdburl",
      "username" : "$jdbcusername",
      "password" : "$jdbcpassword"
    }
  },
  "workspaces" : {
    "default" : "default",
    "allowCreation" : true
  }
}

4 个答案:

答案 0 :(得分:0)

您可以使用JSON变量之类的东西来构建JSON

https://www.npmjs.com/package/json-variables

或者您可以将JSON加载到内存中以查找密钥并进行更新,例如下面使用Node.JS的示例

How to update a value in a json file and save it through node.js

无论哪种方式,您都不必以明文形式存储用户名和密码,这就是我想您要避免的方式?

答案 1 :(得分:0)

您可能想尝试Jsonnet(一种数据模板语言),它是JSON的扩展,可以导出JSON文件。例如

{
  person1: {
    username: "Alice",
    password: "abc",
    welcome: "Hello " + self.username + "!",
  },
  person2: self.person1 { username: "Bob", password: "123" },
}

会产生

{
  "person1": {
    "password": "abc",
    "username": "Alice",
    "welcome": "Hello Alice!"
  },
  "person2": {
    "password": "123",
    "username": "Bob",
    "welcome": "Hello Bob!"
  }
}

除了字段之外,您还可以使用local声明变量,例如

local pi = 3.14;

答案 2 :(得分:0)

您可以使用字符串插值+反斜杠...
请参见 Postman 导出 JSON 中的 "{{testUrl}}" 示例:

变量值:

  "info":{
    "_postman_id": "YOUR-ID-IN-POSTMAN",
    "name": "YOU-EXPORTED-COLLECTION-FILE-NAME",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "testUrl": "https://www.techeader.com"},

以原始形式实现的变量:
        "url":{
            "raw": "\"{{testUrl}}\"", 
            "protocol": "http",
            "host": ["test","com"]},

答案 3 :(得分:-1)

JSON是一种标准格式,用于将对象表示为文本的,人类可读的(大部分时间: - /)格式。变量的概念在这种情况下不适用。变量只存在于内存/代码中,例如,变量可以写入文件中的JSON格式,但存在发声的风险"钝的"恕我直言,你的问题在这一点上没有多大意义。

如果您详细说明您希望在应用程序中实现的目标,我可以帮助您做得更好。