Thread overview | |||||
---|---|---|---|---|---|
|
November 15, 2019 std.json / nested key/value access? | ||||
---|---|---|---|---|
| ||||
I have: JSONValue j = parseJSON(json_string).object; writeln(j); // works writeln(j["a"]); // works writeln(j["a"].object["b"]); // bombs Runtime error: std.json.JSONException@std/json.d(276): JSONValue is not an object How can I access a nested JSON key/value using something that comes close to a path notation? -- Robert M. Münch http://www.saphirion.com smarter | better | faster |
November 15, 2019 Re: std.json / nested key/value access? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Robert M. Münch | On 11/15/19 12:05 PM, Robert M. Münch wrote:
> JSONValue j = parseJSON(json_string).object;
>
> writeln(j); // works
> writeln(j["a"]); // works
> writeln(j["a"].object["b"]); // bombs
auto json_string = `{"a": {"b": 1}}`;
Results with your code as:
{"a":{"b":1}}
{"b":1}
1
Maybe your "a" value is not an object?
-Steve
|
November 15, 2019 Re: std.json / nested key/value access? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Steven Schveighoffer | On 2019-11-15 17:23:38 +0000, Steven Schveighoffer said: > On 11/15/19 12:05 PM, Robert M. Münch wrote: >> JSONValue j = parseJSON(json_string).object; >> >> writeln(j); // works >> writeln(j["a"]); // works >> writeln(j["a"].object["b"]); // bombs > > Maybe your "a" value is not an object? Thanks, it's an array... why ever... I need to use: writeln(j["a"][0]["b"]); Wasn't that obvious, because it's a big JSON structure. -- Robert M. Münch http://www.saphirion.com smarter | better | faster |
Copyright © 1999-2021 by the D Language Foundation