I have a JSON object that I'm trying to parse using Javascript, but it's a bit of a mess and I don't know the best way to achieve what I'm after. The JSON object is below:
{[null, "[{"name":"type","value":"mental health"},{"name":"question","value":"what is"}]", "[{"name":"type","value":"mental health"},{"name":"question","value":"what is"}]", "[{"name":"type","value":"mental health"},{"name":"question","value":"what is"}]", "[{"name":"type","value":"mental health"},{"name":"question","value":"what is"}]", "[{"name":"type","value":"mental health"},{"name":"question","value":"types"}]", "[{"name":"type","value":"mental health"},{"name":"question","value":"types"}]", "[{"name":"type","value":"mental health"},{"name":"…what is"},{"name":"condition","value":"phobias"}]", "[{"name":"type","value":"mental health"},{"name":"…what is"},{"name":"condition","value":"phobias"}]", "[{"name":"type","value":"mental health"},{"name":"question","value":"what is"}]", "[{"name":"type","value":"mental health"},{"name":"question","value":"what is"}]", "[{"name":"type","value":"help"}]", "[{"name":"type","value":"mental health"},{"name":"question","value":"what is"}]", "[{"name":"type","value":"mental health"},{"name":"question","value":"what is"}]", "[{"name":"type","value":"mental health"},{"name":"question","value":"what is"}]", "[{"name":"type","value":"mental health"},{"name":"question","value":"types"}]", "[{"name":"type","value":"mental health"},{"name":"question","value":"types"}]", "[{"name":"type","value":"help"}]", "[{"name":"type","value":"mental health"},{"name":"question","value":"what is"}]", "[{"name":"type","value":"mental health"},{"name":"question","value":"what is"}]", "[{"name":"type","value":"mental health"},{"name":"question","value":"types"}]", "[{"name":"type","value":"mental health"},{"name":"question","value":"types"}]", "[{"name":"type","value":"mental health"},{"name":"question","value":"what is"}]", "[{"name":"type","value":"mental health"},{"name":"question","value":"types"}]", "[{"name":"type","value":"mental health"},{"name":"question","value":"what is"}]", "[{"name":"type","value":"mental health"},{"name":"question","value":"types"}]", "[{"name":"type","value":"mental health"},{"name":"…what is"},{"name":"condition","value":"phobias"}]", "[{"name":"type","value":"mental health"},{"name":"…what is"},{"name":"condition","value":"phobias"}]", "[{"name":"type","value":"mental health"},{"name":"question","value":"what is"}]", "[{"name":"type","value":"mental health"},{"name":"question","value":"what is"}]", "[{"name":"type","value":"mental health"},{"name":"question","value":"types"}]", "[{"name":"type","value":"mental health"},{"name":"question","value":"types"}]", "[{"name":"type","value":"mental health"},{"name":"…s"},{"name":"condition","value":"schizophrenia"}]", "[{"name":"type","value":"mental health"},{"name":"…uses"},{"name":"condition","value":"depression"}]", "[{"name":"type","value":"mental health"},{"name":"…uses"},{"name":"condition","value":"depression"}]", "[{"name":"type","value":"mental health"},{"name":"…s"},{"name":"condition","value":"schizophrenia"}]", "[{"name":"type","value":"mental health"},{"name":"…ypes"},{"name":"condition","value":"depression"}]", "[{"name":"type","value":"mental health"},{"name":"…s"},{"name":"condition","value":"schizophrenia"}]", "[{"name":"type","value":"mental health"},{"name":"…s"},{"name":"condition","value":"schizophrenia"}]", "[{"name":"type","value":"mental health"},{"name":"…ypes"},{"name":"condition","value":"depression"}]", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null]}
The end result I'm trying to get to is a count of the values. However, I also want to split out all of the values in each of the arrays that are contained within the object.
The best result I've been able to achieve so far is:
{
[{"name":"type","value":"mental health"},{"name":"question","value":"prevalence"},{"name":"condition","value":"depression"}]: 2,
[{"name":"type","value":"mental health"},{"name":"question","value":"related issues"},{"name":"condition","value":"depression"}]: 3,
[{"name":"type","value":"mental health"},{"name":"question","value":"types"}]: 7,
[{"name":"type","value":"mental health"},{"name":"question","value":"what is"},{"name":"condition","value":"anxiety"}]: 3,
[{"name":"type","value":"mental health"},{"name":"question","value":"what is"},{"name":"condition","value":"ocd"}]: 2,
[{"name":"type","value":"mental health"},{"name":"question","value":"what is"},{"name":"condition","value":"panic disorder"}]: 6,
[{"name":"type","value":"mental health"},{"name":"question","value":"what is"},{"name":"condition","value":"schizophrenia"}]: 1,
[{"name":"type","value":"mental health"},{"name":"question","value":"what is"}]: 8,
null: 19
}
However, the end result I'd like to get to is as follows:
{
"type": 32,
"mental health": 32,
"question": 32,
"condition": 17,
"prevalence": 2,
"related issues": 3,
"types": 7,
"what is": 20,
"depression": 5,
"anxiety": 3,
"OCD": 2,
"Panic Disorder": 6,
"Scizophrenia": 1,
null: 19
}
Essentially, I want to count all of the values in the key/value pairs but I'm not sure how to do this because of the structure of the object and also the null values as they are a different format to the values in the rest of the object.
nameandvalueproperties in the end, but you just want to list how often some values occur for either property?