I’ve been stressing over something that I just can’t figure out. I have a list of variables and values in my data that I wish to convert to JSON. The input data looks like this.
========================
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[4]]
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[4]]$Timestep
[1] 3
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[4]]$Measures
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[4]]$Measures[[1]]
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[4]]$Measures[[1]]$Name
[1] “Building Risk Rating”
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[4]]$Measures[[1]]$Values
[1] 6.25 6.25
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[4]]$Measures[[2]]
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[4]]$Measures[[2]]$Name
[1] “Condition”
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[4]]$Measures[[2]]$Values
[1] 2.125 5.000
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[4]]$Measures[[3]]
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[4]]$Measures[[3]]$Name
[1] “Estimated Costs”
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[4]]$Measures[[3]]$Values
[1] 6128.476 0.000
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[4]]$Measures[[4]]
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[4]]$Measures[[4]]$Name
[1] “Frequency of Failure”
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[4]]$Measures[[4]]$Values
[1] 3.125 5.000
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[4]]$Measures[[5]]
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[4]]$Measures[[5]]$Name
[1] “Impact of Failure”
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[4]]$Measures[[5]]$Values
[1] 3 3
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[4]]$Measures[[6]]
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[4]]$Measures[[6]]$Name
[1] “Probability of Failure”
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[4]]$Measures[[6]]$Values
[1] 3.125 5.000
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[4]]$Measures[[7]]
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[4]]$Measures[[7]]$Name
[1] “Risk Score”
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[4]]$Measures[[7]]$Values
[1] 11.375 18.000
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[5]]
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[5]]$Timestep
[1] 4
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[5]]$Measures
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[5]]$Measures[[1]]
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[5]]$Measures[[1]]$Name
[1] “Building Risk Rating”
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[5]]$Measures[[1]]$Values
[1] 6.25
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[5]]$Measures[[2]]
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[5]]$Measures[[2]]$Name
[1] “Condition”
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[5]]$Measures[[2]]$Values
[1] 1.5
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[5]]$Measures[[3]]
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[5]]$Measures[[3]]$Name
[1] “Estimated Costs”
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[5]]$Measures[[3]]$Values
[1] 6251.046
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[5]]$Measures[[4]]
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[5]]$Measures[[4]]$Name
[1] “Frequency of Failure”
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[5]]$Measures[[4]]$Values
[1] 2.5
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[5]]$Measures[[5]]
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[5]]$Measures[[5]]$Name
[1] “Impact of Failure”
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[5]]$Measures[[5]]$Values
[1] 3
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[5]]$Measures[[6]]
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[5]]$Measures[[6]]$Name
[1] “Probability of Failure”
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[5]]$Measures[[6]]$Values
[1] 2.5
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[5]]$Measures[[7]]
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[5]]$Measures[[7]]$Name
[1] “Risk Score”
$5985 - F2020 - Upgrade - Haz Abate - ACM (PROJ ID 476)
$Solutions[[1]]$SolutionTimings[[5]]$Measures[[7]]$Values
[1] 9.5
========================
When I run TOJSON, I get the following.
========================
{
“Timestep”: 3,
“Measures”: [
{
“Name”: “Building Risk Rating”,
“Values”: [6.25, 6.25]
},
{
“Name”: “Condition”,
“Values”: [2.125, 5]
},
{
“Name”: “Estimated Costs”,
“Values”: [6128.4762, 0]
},
{
“Name”: “Frequency of Failure”,
“Values”: [3.125, 5]
},
{
“Name”: “Impact of Failure”,
“Values”: [3, 3]
},
{
“Name”: “Probability of Failure”,
“Values”: [3.125, 5]
},
{
“Name”: “Risk Score”,
“Values”: [11.375, 18]
}
]
},
{
“Timestep”: 4,
“Measures”: [
{
“Name”: “Building Risk Rating”,
“Values”: 6.25
},
{
“Name”: “Condition”,
“Values”: 1.5
},
{
“Name”: “Estimated Costs”,
“Values”: 6251.0457
},
{
“Name”: “Frequency of Failure”,
“Values”: 2.5
},
{
“Name”: “Impact of Failure”,
“Values”: 3
},
{
“Name”: “Probability of Failure”,
“Values”: 2.5
},
{
“Name”: “Risk Score”,
“Values”: 9.5
}
]
}
As you can see, the “Values” in the first half is surrounded by square brackets while the second half is not. Is there any way to have brackets on the single values too? I used auto_unbox=TRUE. And when I set it to FALSE, it then adds brackets to everything which I don’t want.
I’ve had to manually update the resulting JSON but that is too time consuming as there are thousands of lines.
dale-icious is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.