Search code examples
javascriptasp.netjsonvb.netfor-loop

Accessing elements of JSON object without knowing the key names


Here's my json:

{"d":{"key1":"value1",
      "key2":"value2"}}

Is there any way of accessing the keys and values (in javascript) in this array without knowing what the keys are?

The reason my json is structured like this is that the webmethod that I'm calling via jquery is returning a dictionary. If it's impossible to work with the above, what do I need to change about the way I'm returning the data?

Here's an outline of my webmethod:

<WebMethod()> _
Public Function Foo(ByVal Input As String) As Dictionary(Of String, String)
    Dim Results As New Dictionary(Of String, String)

    'code that does stuff

    Results.Add(key,value)
    Return Results
End Function

Solution

  • You can use the for..in construct to iterate through arbitrary properties of your object:

    for (var key in obj.d) {
        console.log("Key: " + key);
        console.log("Value: " + obj.d[key]);
    }