The reason count
is returning 1
is because your JSON is structured in such a way that it represents an array of objects, of which you only have 1 (note the single set of braces). If you would like to count all elements within the first and only object in your JSON array, you could instead try:
count($json[0]);