我有以下 JSON 配置文件。我想使用 Java 脚本读取 JSON 文件并存储到 Dictionary 对象中。
{
"DefaultTime": 10,
"ExpetTime": 30,
"Environment": "QA",
"DefaultBrowser": "CHROME"
"_Envi": [
{
"PP": [
{
"Server1": "https://login.com",
"UserName": "user1",
"Password": "pass1",
"UserFullName": "userName1",
"UserEmail": "[email protected]",
"User2Name": "user1",
"User2FullName": "userName2",
"User2Password": "pass1",
"User3FullName": "user3",
"User3Name": "userName3",
"User4Name": "user4",
"User4FullName": "userName4",
"User4Email": "[email protected];"
}
]
},
{
"QA": [
{
"Server": "https://gmail.com",
"UserName": "user1",
"Password": "pass1",
"UserFullName": "userName1",
"UserEmail": "[email protected]",
"User2Name": "user2",
"User2Password": "pass1",
"User2FullName": "userName2",
"User3Name": "user3",
"User3FullName": "userName3",
"User4Name": "user4",
"User5Name": "userName4",
"Password4": "pass2",
"User4FullName": "user4",
"User5FullName": "user5"
}
]
},
{
"PROD": [
{
"Server": "https://pro.login.com",
"UserName": "user1",
"Password": "pass1",
"UserFullName": "userName1",
"UserEmail": "[email protected]",
"User2Name": "user2",
"User2FullName": "userName2",
"User2Password": "pass1",
"User3Name": "user3",
"User3FullName": "Username3",
"User4Name": "user4",
"User4FullName": "UserName4",
"User4Email": "[email protected]"
}
]
}
]
}
在上面的 JSON 中,我需要一些基于用户选择的环境特定值。 如果“Environment”:“PP”,它应该需要将以下值存储到字典对象中。
{
"_Envi": [
{
"PP": [
{
"Server1": "https://login.com",
"UserName": "user1",
"Password": "pass1",
"UserFullName": "userName1",
"UserEmail": "[email protected]",
"User2Name": "user1",
"User2FullName": "userName2",
"User2Password": "pass1",
"User3FullName": "user3",
"User3Name": "userName3",
"User4Name": "user4",
"User4FullName": "userName4",
"User4Email": "[email protected];"
}
]
}
]
}
您可以在 JavaScript 中通过读取 JSON 文件、解析它并将特定于环境的值存储在字典对象中来实现此目的:
function readJSONFile() {
const jsonContent = `Your JSON content`;
return JSON.parse(jsonContent);
}
function getEnvironmentValues(environment) {
const jsonObject = readJSONFile(); // Replace this with actual reading from file
const environmentValues = {};
if (jsonObject._Envi) {
const specificEnv = jsonObject._Envi.find(env => env[environment]);
if (specificEnv) {
environmentValues[environment] = specificEnv[environment];
}
}
return environmentValues;
}
// Usage: Pass the environment as an argument to get the specific values
const selectedEnvironment = "PP";
const environmentDictionary = getEnvironmentValues(selectedEnvironment);
console.log(environmentDictionary);