現在、Java で json-simple ライブラリを使用して JSON オブジェクトを操作しています。ほとんどの場合、外部 Web サービスから JSON 文字列を取得し、それを解析してトラバースする必要があります。それほど複雑ではない JSON オブジェクトの場合でも、かなり長いタイピング作業になる可能性があります。
次の文字列を responseString として取得したとします。
{
"employees": [
{
"firstName": "John",
"lastName": "Doe"
},
{
"firstName": "Anna",
"lastName": "Smith"
},
{
"firstName": "Peter",
"lastName": "Jones"
}
],
"title": "some company",
"headcount": 3
}
3D 従業員の姓を取得するには、次のことを行う必要があります。
JSONObject responseJson = (JSONObject) JSONValue.parse(responseString);
JSONArray employees = (JSONArray) responseJson.get("employees");
JSONObject firstEmployee = (JSONObject) employees.get(0);
String lastName = (String) firstEmployee.get("lastName");
少なくともそのようなもの。この場合はそれほど長くはありませんが、複雑になる可能性があります。
より合理化された流暢なアプローチを機能させる方法はありますか (おそらく他の Java ライブラリに切り替えますか?)。
String lastName = JSONValue.parse(responseString).get("employees").get(0).get("lastName")
ここでは自動キャストのアプローチは考えられないので、アイデアをいただければ幸いです。