{"id":470,"date":"2023-08-15T09:53:46","date_gmt":"2023-11-04T19:58:29","guid":{"rendered":"https:\/\/www.silicloud.com\/ja\/blog\/index.php\/2023\/11\/30\/java-json%e3%81%ae%e4%be%8b\/"},"modified":"2025-07-31T23:50:09","modified_gmt":"2025-07-31T14:50:09","slug":"java-json%e3%81%ae%e4%be%8b","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/ja\/blog\/java-json%e3%81%ae%e4%be%8b\/","title":{"rendered":"Java JSON\u306e\u4f8b"},"content":{"rendered":"<p>Java JSON \u306e\u30b5\u30f3\u30d7\u30eb\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u3078\u3088\u3046\u3053\u305d\u3002JSON\uff08JavaScript Object Notation\uff09\u306f\u3001\u4eba\u304c\u8aad\u307f\u3084\u3059\u3044\u5f62\u5f0f\u306e\u30c7\u30fc\u30bf\u3092\u751f\u6210\u3059\u308b\u305f\u3081\u306e\u30c6\u30ad\u30b9\u30c8\u30d9\u30fc\u30b9\u306e\u8efd\u91cf\u306a\u6280\u8853\u3067\u3059\u3002JSON \u306f\u3001\u30ad\u30fc\u3068\u5024\u306e\u30da\u30a2\u306e\u5f62\u5f0f\u3067\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u30c7\u30fc\u30bf\u3092\u8868\u73fe\u3057\u307e\u3059\u3002\u30cd\u30b9\u30c8\u3055\u308c\u305f JSON \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3082\u6301\u3064\u3053\u3068\u304c\u3067\u304d\u3001\u914d\u5217\u3082\u7c21\u5358\u306b\u8868\u73fe\u3059\u308b\u65b9\u6cd5\u3092\u63d0\u4f9b\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<h2>Java JSON<br \/>\nJava\u306eJSON<\/h2>\n<p>JSON\u306f\u3001XML\u3088\u308a\u3082\u8efd\u91cf\u3067\u30b3\u30f3\u30d1\u30af\u30c8\u3067\u3042\u308b\u305f\u3081\u3001\u30a6\u30a7\u30d6\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3084\u30b5\u30fc\u30d0\u30fc\u30ec\u30b9\u30dd\u30f3\u30b9\u3067\u5e83\u304f\u4f7f\u308f\u308c\u3066\u3044\u307e\u3059\u3002JSON\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306f\u8aad\u307f\u66f8\u304d\u304c\u7c21\u5358\u3067\u3042\u308a\u3001\u591a\u304f\u306e\u6280\u8853\u304cJSON\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u3059\u3002\u305d\u306e\u305f\u3081\u3001Java\u306e\u30a6\u30a7\u30d6\u30b5\u30fc\u30d3\u30b9\u3067JSON\u306f\u975e\u5e38\u306b\u4eba\u6c17\u304c\u3042\u308a\u307e\u3059\u3002JSR353\u306f\u3064\u3044\u306bJava EE 7\u306b\u53d6\u308a\u8fbc\u307e\u308c\u3001Java\u306eJSON\u51e6\u7406API\u3068\u306a\u308a\u307e\u3057\u305f\u3002jsonp\u306fJava\u306eJSON\u51e6\u7406API\u306e\u30ea\u30d5\u30a1\u30ec\u30f3\u30b9\u5b9f\u88c5\u3067\u3059\u3002\u6b21\u306e\u4f9d\u5b58\u95a2\u4fc2\u3092\u8ffd\u52a0\u3059\u308b\u3053\u3068\u3067\u3001Maven\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code>&lt;dependency&gt;\r\n\t&lt;groupId&gt;org.glassfish&lt;\/groupId&gt;\r\n  \t&lt;artifactId&gt;javax.json&lt;\/artifactId&gt;\r\n  \t&lt;version&gt;1.0.2&lt;\/version&gt;\r\n&lt;\/dependency&gt;\r\n<\/code><\/pre>\n<p>\u3082\u3057GlassFish 4.0\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u5834\u5408\u306f\u3001\u30b9\u30b3\u30fc\u30d7\u3092provided\u306e\u307e\u307e\u306b\u3057\u3066\u304a\u304f\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u306a\u305c\u306a\u3089\u3001\u305d\u308c\u306f\u65e2\u306b\u30b5\u30fc\u30d0\u30fc\u306b\u542b\u307e\u308c\u3066\u3044\u308b\u304b\u3089\u3067\u3059\u3002JSON API\u306fJSON\u51e6\u7406\u306e\u305f\u3081\u306b2\u3064\u306e\u65b9\u6cd5\u3092\u63d0\u4f9b\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u30e2\u30c7\u30ebAPI &#8211; DOM\u30d1\u30fc\u30b5\u30fc\u3068\u4f3c\u3066\u304a\u308a\u3001\u5c0f\u3055\u306a\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306b\u9069\u3057\u3066\u3044\u307e\u3059\u3002<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol>\u30b9\u30c8\u30ea\u30fc\u30df\u30f3\u30b0API &#8211; StaX\u30d1\u30fc\u30b5\u30fc\u3068\u4f3c\u3066\u304a\u308a\u3001\u30e1\u30e2\u30ea\u5168\u4f53\u3092\u4f7f\u7528\u3057\u305f\u304f\u306a\u3044\u5927\u304d\u306a\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306b\u9069\u3057\u3066\u3044\u307e\u3059\u3002<\/ol>\n<p>Java\u306eJSON API\u306e\u3044\u304f\u3064\u304b\u306e\u91cd\u8981\u306a\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u306f\u6b21\u306e\u3088\u3046\u306a\u3082\u306e\u304c\u3042\u308a\u307e\u3059\uff1a<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>javax.json.JsonReader\uff1aJSON\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u307e\u305f\u306f\u914d\u5217\u3092JsonObject\u306b\u8aad\u307f\u8fbc\u3080\u305f\u3081\u306b\u3053\u308c\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002Json\u30af\u30e9\u30b9\u307e\u305f\u306fJsonReaderFactory\u304b\u3089JsonReader\u3092\u53d6\u5f97\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>javax.json.JsonWriter\uff1aJSON\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u51fa\u529b\u30b9\u30c8\u30ea\u30fc\u30e0\u306b\u66f8\u304d\u8fbc\u3080\u305f\u3081\u306b\u3053\u308c\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>javax.json.stream.JsonParser\uff1a\u3053\u308c\u306f\u30d7\u30eb\u30d1\u30fc\u30b5\u30fc\u3068\u3057\u3066\u6a5f\u80fd\u3057\u3001JSON\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u8aad\u307f\u53d6\u308a\u3092\u30b9\u30c8\u30ea\u30fc\u30df\u30f3\u30b0\u30b5\u30dd\u30fc\u30c8\u3057\u307e\u3059\u3002<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>javax.json.stream.JsonGenerator\uff1a\u30b9\u30c8\u30ea\u30fc\u30df\u30f3\u30b0\u65b9\u5f0f\u3067JSON\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u51fa\u529b\u30bd\u30fc\u30b9\u306b\u66f8\u304d\u8fbc\u3080\u305f\u3081\u306b\u3053\u308c\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>javax.json.Json\uff1a\u3053\u308c\u306fJSON\u51e6\u7406\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\u3059\u308b\u305f\u3081\u306e\u30d5\u30a1\u30af\u30c8\u30ea\u30af\u30e9\u30b9\u3067\u3059\u3002\u3053\u306e\u30af\u30e9\u30b9\u306f\u3001\u3053\u308c\u3089\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3068\u305d\u308c\u306b\u5bfe\u5fdc\u3059\u308b\u30d5\u30a1\u30af\u30c8\u30ea\u306e\u4f5c\u6210\u306b\u6700\u3082\u4e00\u822c\u7684\u306b\u4f7f\u7528\u3055\u308c\u308b\u30e1\u30bd\u30c3\u30c9\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002\u30d5\u30a1\u30af\u30c8\u30ea\u30af\u30e9\u30b9\u306f\u3001\u3053\u308c\u3089\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\u3059\u308b\u3055\u307e\u3056\u307e\u306a\u65b9\u6cd5\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol>javax.json.JsonObject\uff1aJsonObject\u306f\u4e0d\u5909\u306eJSON\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u5024\u3092\u8868\u3057\u307e\u3059\u3002<\/ol>\n<p>\u30b7\u30f3\u30d7\u30eb\u306a\u30d7\u30ed\u30b0\u30e9\u30e0\u3067Java\u306eJSON API\u306e\u4f7f\u7528\u65b9\u6cd5\u3092\u8abf\u3079\u3066\u307f\u307e\u3057\u3087\u3046\u3002employee.txt\u3068\u3044\u3046\u30d5\u30a1\u30a4\u30eb\u306bJSON\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u4fdd\u5b58\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code>{\r\n\t\"id\":123,\r\n\t\"name\":\"Pankaj Kumar\",\r\n\t\"permanent\":true,\r\n\t\"address\":{\r\n\t\t\t\"street\":\"El Camino Real\",\r\n\t\t\t\"city\":\"San Jose\",\r\n\t\t\t\"zipcode\":95014\r\n\t\t},\r\n\t\"phoneNumbers\":[9988664422, 1234567890],\r\n\t\"role\":\"Developer\"\r\n}\r\n<\/code><\/pre>\n<p>\u79c1\u305f\u3061\u306f\u3001\u4e0a\u8a18\u306eJSON\u5f62\u5f0f\u3092\u8868\u3059Java\u306e\u30d3\u30fc\u30f3\u30af\u30e9\u30b9\u3092\u6301\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code>package com.scdev.model;\r\n\r\nimport java.util.Arrays;\r\n\r\npublic class Employee {\r\n\r\n\tprivate int id;\r\n\tprivate String name;\r\n\tprivate boolean permanent;\r\n\tprivate Address address;\r\n\tprivate long[] phoneNumbers;\r\n\tprivate String role;\r\n\t\r\n\tpublic int getId() {\r\n\t\treturn id;\r\n\t}\r\n\tpublic void setId(int id) {\r\n\t\tthis.id = id;\r\n\t}\r\n\tpublic String getName() {\r\n\t\treturn name;\r\n\t}\r\n\tpublic void setName(String name) {\r\n\t\tthis.name = name;\r\n\t}\r\n\tpublic boolean isPermanent() {\r\n\t\treturn permanent;\r\n\t}\r\n\tpublic void setPermanent(boolean permanent) {\r\n\t\tthis.permanent = permanent;\r\n\t}\r\n\tpublic Address getAddress() {\r\n\t\treturn address;\r\n\t}\r\n\tpublic void setAddress(Address address) {\r\n\t\tthis.address = address;\r\n\t}\r\n\tpublic long[] getPhoneNumbers() {\r\n\t\treturn phoneNumbers;\r\n\t}\r\n\tpublic void setPhoneNumbers(long[] phoneNumbers) {\r\n\t\tthis.phoneNumbers = phoneNumbers;\r\n\t}\r\n\tpublic String getRole() {\r\n\t\treturn role;\r\n\t}\r\n\tpublic void setRole(String role) {\r\n\t\tthis.role = role;\r\n\t}\r\n\t\r\n\t@Override\r\n\tpublic String toString(){\r\n\t\tStringBuilder sb = new StringBuilder();\r\n\t\tsb.append(\"***** Employee Details *****\\n\");\r\n\t\tsb.append(\"ID=\"+getId()+\"\\n\");\r\n\t\tsb.append(\"Name=\"+getName()+\"\\n\");\r\n\t\tsb.append(\"Permanent=\"+isPermanent()+\"\\n\");\r\n\t\tsb.append(\"Role=\"+getRole()+\"\\n\");\r\n\t\tsb.append(\"Phone Numbers=\"+Arrays.toString(getPhoneNumbers())+\"\\n\");\r\n\t\tsb.append(\"Address=\"+getAddress());\r\n\t\tsb.append(\"\\n*****************************\");\r\n\t\t\r\n\t\treturn sb.toString();\r\n\t}\r\n}\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code>package com.scdev.model;\r\n\r\npublic class Address {\r\n\t\r\n\tprivate String street;\r\n\tprivate String city;\r\n\tprivate int zipcode;\r\n\t\r\n\tpublic String getStreet() {\r\n\t\treturn street;\r\n\t}\r\n\tpublic void setStreet(String street) {\r\n\t\tthis.street = street;\r\n\t}\r\n\tpublic String getCity() {\r\n\t\treturn city;\r\n\t}\r\n\tpublic void setCity(String city) {\r\n\t\tthis.city = city;\r\n\t}\r\n\tpublic int getZipcode() {\r\n\t\treturn zipcode;\r\n\t}\r\n\tpublic void setZipcode(int zipcode) {\r\n\t\tthis.zipcode = zipcode;\r\n\t}\r\n\t\r\n\t@Override\r\n\tpublic String toString(){\r\n\t\treturn getStreet() + \", \"+getCity()+\", \"+getZipcode();\r\n\t}\r\n}\r\n<\/code><\/pre>\n<p>\u79c1\u306ftoString()\u30e1\u30bd\u30c3\u30c9\u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3057\u3066\u3001JSON\u5b9f\u88c5\u30af\u30e9\u30b9\u3067\u4f7f\u7528\u3059\u308b\u4eba\u304c\u8aad\u307f\u3084\u3059\u3044\u6587\u5b57\u5217\u8868\u73fe\u3092\u8fd4\u3057\u307e\u3059\u3002<\/p>\n<h3>Java\u3067JSON\u3092\u8aad\u3080\u4f8b\u3092\u793a\u3057\u307e\u3059\u3002<\/h3>\n<pre class=\"post-pre\"><code>package com.scdev.json;\r\n\r\nimport java.io.FileInputStream;\r\nimport java.io.IOException;\r\nimport java.io.InputStream;\r\n\r\nimport javax.json.Json;\r\nimport javax.json.JsonArray;\r\nimport javax.json.JsonObject;\r\nimport javax.json.JsonReader;\r\nimport javax.json.JsonValue;\r\n\r\nimport com.scdev.model.Address;\r\nimport com.scdev.model.Employee;\r\n\r\npublic class EmployeeJSONReader {\r\n\r\n\tpublic static final String JSON_FILE=\"employee.txt\";\r\n\t\r\n\tpublic static void main(String[] args) throws IOException {\r\n\t\tInputStream fis = new FileInputStream(JSON_FILE);\r\n\t\t\r\n\t\t\/\/create JsonReader object\r\n\t\tJsonReader jsonReader = Json.createReader(fis);\r\n\t\t\r\n\t\t\/**\r\n\t\t * We can create JsonReader from Factory also\r\n\t\tJsonReaderFactory factory = Json.createReaderFactory(null);\r\n\t\tjsonReader = factory.createReader(fis);\r\n\t\t*\/\r\n\t\t\r\n\t\t\/\/get JsonObject from JsonReader\r\n\t\tJsonObject jsonObject = jsonReader.readObject();\r\n\t\t\r\n\t\t\/\/we can close IO resource and JsonReader now\r\n\t\tjsonReader.close();\r\n\t\tfis.close();\r\n\t\t\r\n\t\t\/\/Retrieve data from JsonObject and create Employee bean\r\n\t\tEmployee emp = new Employee();\r\n\t\t\r\n\t\temp.setId(jsonObject.getInt(\"id\"));\r\n\t\temp.setName(jsonObject.getString(\"name\"));\r\n\t\temp.setPermanent(jsonObject.getBoolean(\"permanent\"));\r\n\t\temp.setRole(jsonObject.getString(\"role\"));\r\n\t\t\r\n\t\t\/\/reading arrays from json\r\n\t\tJsonArray jsonArray = jsonObject.getJsonArray(\"phoneNumbers\");\r\n\t\tlong[] numbers = new long[jsonArray.size()];\r\n\t\tint index = 0;\r\n\t\tfor(JsonValue value : jsonArray){\r\n\t\t\tnumbers[index++] = Long.parseLong(value.toString());\r\n\t\t}\r\n\t\temp.setPhoneNumbers(numbers);\r\n\t\t\r\n\t\t\/\/reading inner object from json object\r\n\t\tJsonObject innerJsonObject = jsonObject.getJsonObject(\"address\");\r\n\t\tAddress address = new Address();\r\n\t\taddress.setStreet(innerJsonObject.getString(\"street\"));\r\n\t\taddress.setCity(innerJsonObject.getString(\"city\"));\r\n\t\taddress.setZipcode(innerJsonObject.getInt(\"zipcode\"));\r\n\t\temp.setAddress(address);\r\n\t\t\r\n\t\t\/\/print employee bean information\r\n\t\tSystem.out.println(emp);\r\n\t\t\r\n\t}\r\n\r\n}\r\n<\/code><\/pre>\n<p>\u4e0a\u8a18\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u5b9f\u884c\u3059\u308b\u3068\u3001\u4ee5\u4e0b\u306e\u51fa\u529b\u304c\u5f97\u3089\u308c\u307e\u3059\u3002\u5b9f\u88c5\u306f\u30b9\u30c8\u30ec\u30fc\u30c8\u3067\u3001HashMap\u304b\u3089\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u53d6\u5f97\u3059\u308b\u306e\u3068\u4f3c\u305f\u611f\u899a\u3067\u3059\u3002JsonReaderFactory\u306f\u30d5\u30a1\u30af\u30c8\u30ea\u30fc\u30c7\u30b6\u30a4\u30f3\u30d1\u30bf\u30fc\u30f3\u3092\u5b9f\u88c5\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code>***** Employee Details *****\r\nID=123\r\nName=Pankaj Kumar\r\nPermanent=true\r\nRole=Developer\r\nPhone Numbers=[9988664422, 1234567890]\r\nAddress=El Camino Real, San Jose, 95014\r\n*****************************\r\n<\/code><\/pre>\n<h3>Java\u306b\u3088\u308bJSON\u66f8\u304d\u8fbc\u307f\u306e\u4f8b<\/h3>\n<pre class=\"post-pre\"><code>package com.scdev.json;\r\n\r\nimport java.io.FileNotFoundException;\r\nimport java.io.FileOutputStream;\r\nimport java.io.OutputStream;\r\n\r\nimport javax.json.Json;\r\nimport javax.json.JsonArrayBuilder;\r\nimport javax.json.JsonObject;\r\nimport javax.json.JsonObjectBuilder;\r\nimport javax.json.JsonWriter;\r\n\r\nimport com.scdev.model.Address;\r\nimport com.scdev.model.Employee;\r\n\r\npublic class EmployeeJSONWriter {\r\n\r\n\tpublic static void main(String[] args) throws FileNotFoundException {\r\n\r\n\t\tEmployee emp = createEmployee();\r\n\r\n\t\tJsonObjectBuilder empBuilder = Json.createObjectBuilder();\r\n\t\tJsonObjectBuilder addressBuilder = Json.createObjectBuilder();\r\n\t\tJsonArrayBuilder phoneNumBuilder = Json.createArrayBuilder();\r\n\r\n\t\tfor (long phone : emp.getPhoneNumbers()) {\r\n\t\t\tphoneNumBuilder.add(phone);\r\n\t\t}\r\n\t\t\r\n\t\taddressBuilder.add(\"street\", emp.getAddress().getStreet())\r\n\t\t\t\t\t\t.add(\"city\", emp.getAddress().getCity())\r\n\t\t\t\t\t\t\t.add(\"zipcode\", emp.getAddress().getZipcode());\r\n\t\t\r\n\t\tempBuilder.add(\"id\", emp.getId())\r\n\t\t\t\t\t.add(\"name\", emp.getName())\r\n\t\t\t\t\t\t.add(\"permanent\", emp.isPermanent())\r\n\t\t\t\t\t\t\t.add(\"role\", emp.getRole());\r\n\t\t\r\n\t\tempBuilder.add(\"phoneNumbers\", phoneNumBuilder);\r\n\t\tempBuilder.add(\"address\", addressBuilder);\r\n\t\t\r\n\t\tJsonObject empJsonObject = empBuilder.build();\r\n\t\t\r\n\t\tSystem.out.println(\"Employee JSON String\\n\"+empJsonObject);\r\n\t\t\r\n\t\t\/\/write to file\r\n\t\tOutputStream os = new FileOutputStream(\"emp.txt\");\r\n\t\tJsonWriter jsonWriter = Json.createWriter(os);\r\n\t\t\/**\r\n\t\t * We can get JsonWriter from JsonWriterFactory also\r\n\t\tJsonWriterFactory factory = Json.createWriterFactory(null);\r\n\t\tjsonWriter = factory.createWriter(os);\r\n\t\t*\/\r\n\t\tjsonWriter.writeObject(empJsonObject);\r\n\t\tjsonWriter.close();\r\n\t}\r\n\t\r\n\r\n\tpublic static Employee createEmployee() {\r\n\r\n\t\tEmployee emp = new Employee();\r\n\t\temp.setId(100);\r\n\t\temp.setName(\"David\");\r\n\t\temp.setPermanent(false);\r\n\t\temp.setPhoneNumbers(new long[] { 123456, 987654 });\r\n\t\temp.setRole(\"Manager\");\r\n\r\n\t\tAddress add = new Address();\r\n\t\tadd.setCity(\"Bangalore\");\r\n\t\tadd.setStreet(\"BTM 1st Stage\");\r\n\t\tadd.setZipcode(560100);\r\n\t\temp.setAddress(add);\r\n\r\n\t\treturn emp;\r\n\t}\r\n\r\n}\r\n<\/code><\/pre>\n<p>\u4e0a\u8a18\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u5b9f\u884c\u3059\u308b\u3068\u3001\u6b21\u306e\u3088\u3046\u306a\u5fdc\u7b54\u3092\u5f97\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code>Employee JSON String\r\n{\"id\":100,\"name\":\"David\",\"permanent\":false,\"role\":\"Manager\",\"phoneNumbers\":[123456,987654],\"address\":{\"street\":\"BTM 1st Stage\",\"city\":\"Bangalore\",\"zipcode\":560100}}\r\n<\/code><\/pre>\n<p>JSON\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3082emp.txt\u30d5\u30a1\u30a4\u30eb\u306b\u4fdd\u5b58\u3055\u308c\u307e\u3059\u3002JsonObjectBuilder\u306f\u30d3\u30eb\u30c0\u30fc\u30d1\u30bf\u30fc\u30f3\u3092\u5b9f\u88c5\u3057\u3066\u304a\u308a\u3001\u975e\u5e38\u306b\u7c21\u5358\u306b\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<h3>Java\u306eJSON\u30d1\u30fc\u30b5\u30fc\u306e\u4f8b\u3092\u793a\u3057\u307e\u3059\u3002<\/h3>\n<p>Java\u306eJsonParser\u306f\u30d7\u30eb\u30d1\u30fc\u30b5\u30fc\u3067\u3042\u308a\u3001\u6b21\u306e\u8981\u7d20\u306fnext()\u30e1\u30bd\u30c3\u30c9\u3067\u8aad\u307f\u8fbc\u307f\u3001Event\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u8fd4\u3057\u307e\u3059\u3002javax.json.stream.JsonParser.Event\u306f\u5217\u6319\u578b\u3067\u3042\u308a\u3001\u578b\u5b89\u5168\u304b\u3064\u4f7f\u3044\u3084\u3059\u304f\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u30b9\u30a4\u30c3\u30c1\u30b1\u30fc\u30b9\u3067Java\u306e\u30d3\u30fc\u30f3\u306e\u30d7\u30ed\u30d1\u30c6\u30a3\u3092\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code>package com.scdev.json;\r\n\r\nimport java.io.FileInputStream;\r\nimport java.io.IOException;\r\nimport java.io.InputStream;\r\nimport java.util.ArrayList;\r\nimport java.util.List;\r\n\r\nimport javax.json.Json;\r\nimport javax.json.stream.JsonParser;\r\nimport javax.json.stream.JsonParser.Event;\r\n\r\nimport com.scdev.model.Address;\r\nimport com.scdev.model.Employee;\r\n\r\npublic class EmployeeJSONParser {\r\n\r\n\tpublic static final String FILE_NAME = \"employee.txt\";\r\n\r\n\tpublic static void main(String[] args) throws IOException {\r\n\t\tInputStream fis = new FileInputStream(FILE_NAME);\r\n\r\n\t\tJsonParser jsonParser = Json.createParser(fis);\r\n\r\n\t\t\/**\r\n\t\t * We can create JsonParser from JsonParserFactory also with below code\r\n\t\t * JsonParserFactory factory = Json.createParserFactory(null);\r\n\t\t * jsonParser = factory.createParser(fis);\r\n\t\t *\/\r\n\r\n\t\tEmployee emp = new Employee();\r\n\t\tAddress address = new Address();\r\n\t\tString keyName = null;\r\n\t\tList&lt;Long&gt; phoneNums = new ArrayList&lt;Long&gt;();\r\n\t\t\r\n\t\twhile (jsonParser.hasNext()) {\r\n\t\t\tEvent event = jsonParser.next();\r\n\t\t\tswitch (event) {\r\n\t\t\tcase KEY_NAME:\r\n\t\t\t\tkeyName = jsonParser.getString();\r\n\t\t\t\tbreak;\r\n\t\t\tcase VALUE_STRING:\r\n\t\t\t\tsetStringValues(emp, address, keyName, jsonParser.getString());\r\n\t\t\t\tbreak;\r\n\t\t\tcase VALUE_NUMBER:\r\n\t\t\t\tsetNumberValues(emp, address, keyName, jsonParser.getLong(), phoneNums);\r\n\t\t\t\tbreak;\r\n\t\t\tcase VALUE_FALSE:\r\n\t\t\t\tsetBooleanValues(emp, address, keyName, false);\r\n\t\t\t\tbreak;\r\n\t\t\tcase VALUE_TRUE:\r\n\t\t\t\tsetBooleanValues(emp, address, keyName, true);\r\n\t\t\t\tbreak;\r\n\t\t\tcase VALUE_NULL:\r\n\t\t\t\t\/\/ don't set anything\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\t\/\/ we are not looking for other events\r\n\t\t\t}\r\n\t\t}\r\n\t\temp.setAddress(address);\r\n\t\tlong[] nums = new long[phoneNums.size()];\r\n\t\tint index = 0;\r\n\t\tfor(Long l :phoneNums){\r\n\t\t\tnums[index++] = l;\r\n\t\t}\r\n\t\temp.setPhoneNumbers(nums);\r\n\t\t\r\n\t\tSystem.out.println(emp);\r\n\t\t\r\n\t\t\/\/close resources\r\n\t\tfis.close();\r\n\t\tjsonParser.close();\r\n\t}\r\n\r\n\tprivate static void setNumberValues(Employee emp, Address address,\r\n\t\t\tString keyName, long value, List&lt;Long&gt; phoneNums) {\r\n\t\tswitch(keyName){\r\n\t\tcase \"zipcode\":\r\n\t\t\taddress.setZipcode((int)value);\r\n\t\t\tbreak;\r\n\t\tcase \"id\":\r\n\t\t\temp.setId((int) value);\r\n\t\t\tbreak;\r\n\t\tcase \"phoneNumbers\":\r\n\t\t\tphoneNums.add(value);\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t\t\tSystem.out.println(\"Unknown element with key=\"+keyName);\t\r\n\t\t}\r\n\t}\r\n\r\n\tprivate static void setBooleanValues(Employee emp, Address address,\r\n\t\t\tString key, boolean value) {\r\n\t\tif(\"permanent\".equals(key)){\r\n\t\t\temp.setPermanent(value);\r\n\t\t}else{\r\n\t\t\tSystem.out.println(\"Unknown element with key=\"+key);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate static void setStringValues(Employee emp, Address address,\r\n\t\t\tString key, String value) {\r\n\t\tswitch(key){\r\n\t\tcase \"name\":\r\n\t\t\temp.setName(value);\r\n\t\t\tbreak;\r\n\t\tcase \"role\":\r\n\t\t\temp.setRole(value);\r\n\t\t\tbreak;\r\n\t\tcase \"city\":\r\n\t\t\taddress.setCity(value);\r\n\t\t\tbreak;\r\n\t\tcase \"street\":\r\n\t\t\taddress.setStreet(value);\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t\t\tSystem.out.println(\"Unknown Key=\"+key);\r\n\t\t\t\t\r\n\t\t}\r\n\t}\r\n\r\n}\r\n<\/code><\/pre>\n<p>\u30c7\u30fc\u30bf\u3092\u89e3\u6790\u3059\u308b\u305f\u3081\u306e\u30ed\u30b8\u30c3\u30af\u3092\u66f8\u304f\u3068\u304d\u306b\u3001\u6700\u3082\u8907\u96d1\u306a\u90e8\u5206\u304c\u751f\u3058\u307e\u3059\u3002\u6642\u306b\u306f\u8907\u96d1\u306b\u306a\u308b\u3053\u3068\u3082\u3042\u308a\u307e\u3059\u3002JsonReader\u3068\u540c\u3058\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u8fbc\u3093\u3067\u3044\u308b\u305f\u3081\u3001\u51fa\u529b\u306fEmployeeJsonReader\u30d7\u30ed\u30b0\u30e9\u30e0\u3068\u540c\u3058\u3067\u3059\u3002<\/p>\n<h3>Java\u306eJsonGenerator\u306e\u4f8b<\/h3>\n<pre class=\"post-pre\"><code>package com.scdev.json;\r\n\r\nimport java.io.FileOutputStream;\r\nimport java.io.IOException;\r\nimport java.io.OutputStream;\r\n\r\nimport javax.json.Json;\r\nimport javax.json.stream.JsonGenerator;\r\n\r\nimport com.scdev.model.Employee;\r\n\r\npublic class EmployeeJSONGenerator {\r\n\r\n\tpublic static void main(String[] args) throws IOException {\r\n\t\tOutputStream fos = new FileOutputStream(\"emp_stream.txt\");\r\n\t\tJsonGenerator jsonGenerator = Json.createGenerator(fos);\r\n\t\t\/**\r\n\t\t * We can get JsonGenerator from Factory class also\r\n\t\t * JsonGeneratorFactory factory = Json.createGeneratorFactory(null);\r\n\t\t * jsonGenerator = factory.createGenerator(fos);\r\n\t\t *\/\r\n\t\t\r\n\t\tEmployee emp = EmployeeJSONWriter.createEmployee();\r\n\t\tjsonGenerator.writeStartObject(); \/\/ {\r\n\t\tjsonGenerator.write(\"id\", emp.getId()); \/\/ \"id\":123\r\n\t\tjsonGenerator.write(\"name\", emp.getName());\r\n\t\tjsonGenerator.write(\"role\", emp.getRole());\r\n\t\tjsonGenerator.write(\"permanent\", emp.isPermanent());\r\n\t\t\r\n\t\tjsonGenerator.writeStartObject(\"address\") \/\/start of address object\r\n\t\t\t.write(\"street\", emp.getAddress().getStreet())\r\n\t\t\t.write(\"city\",emp.getAddress().getCity())\r\n\t\t\t.write(\"zipcode\",emp.getAddress().getZipcode())\r\n\t\t\t.writeEnd(); \/\/end of address object\r\n\t\t\r\n\t\tjsonGenerator.writeStartArray(\"phoneNumbers\"); \/\/start of phone num array\r\n\t\tfor(long num : emp.getPhoneNumbers()){\r\n\t\t\tjsonGenerator.write(num);\r\n\t\t}\r\n\t\tjsonGenerator.writeEnd(); \/\/ end of phone num array\r\n\t\tjsonGenerator.writeEnd(); \/\/ }\r\n\t\t\r\n\t\tjsonGenerator.close();\r\n\t\t\r\n\t}\r\n\r\n}\r\n<\/code><\/pre>\n<p>JsonGenerator\u306f\u975e\u5e38\u306b\u4f7f\u3044\u3084\u3059\u304f\u3001\u5927\u91cf\u306e\u30c7\u30fc\u30bf\u306b\u5bfe\u3057\u3066\u826f\u597d\u306a\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002\u3053\u308c\u304cJava JSON\u51e6\u7406API\u306e\u5168\u3066\u3067\u3059\u3002\u79c1\u305f\u3061\u306fJava JSON\u30d1\u30fc\u30b5\u30fc\u3001\u8aad\u307f\u8fbc\u307f\u3068\u66f8\u304d\u8fbc\u307f\u306e\u4f8b\u306b\u3064\u3044\u3066\u5b66\u3073\u307e\u3057\u305f\u3002\u4ee5\u4e0b\u306e\u30ea\u30f3\u30af\u304b\u3089Java\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u3001\u81ea\u7531\u306b\u8a66\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>Java\u306eJSON\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>\u53c2\u7167\uff1aJSONLint &#8211; JSON\u30c7\u30fc\u30bf\u306e\u691c\u8a3c\u306b\u4fbf\u5229\u306a\u30a6\u30a7\u30d6\u30c4\u30fc\u30eb JSON\u51e6\u7406\u306e\u53c2\u8003\u5b9f\u88c5 JSR353 JCP\u30da\u30fc\u30b8<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Java JSON \u306e\u30b5\u30f3\u30d7\u30eb\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u3078\u3088\u3046\u3053\u305d\u3002JSON\uff08JavaScript Object Notation\uff09\u306f\u3001\u4eba\u304c\u8aad\u307f\u3084\u3059\u3044\u5f62\u5f0f\u306e\u30c7\u30fc\u30bf\u3092\u751f\u6210\u3059\u308b\u305f\u3081\u306e\u30c6\u30ad\u30b9\u30c8\u30d9\u30fc\u30b9\u306e\u8efd\u91cf\u306a\u6280\u8853\u3067\u3059\u3002JSON \u306f\u3001\u30ad\u30fc\u3068\u5024 [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[26,61],"class_list":["post-470","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-26","tag-61"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Java JSON\u306e\u4f8b - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Java JSON\u306e\u4f8b\u3092\u5206\u304b\u308a\u3084\u3059\u304f\u89e3\u8aac\u3002\u5b9f\u8df5\u7684\u306a\u4f8b\u3068\u30b3\u30fc\u30c9\u3001\u6ce8\u610f\u70b9\u3092\u542b\u3081\u3066\u521d\u5fc3\u8005\u306b\u3082\u7406\u89e3\u3067\u304d\u308b\u3088\u3046\u8aac\u660e\u3057\u307e\u3059\u3002\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/ja\/blog\/java-json\u306e\u4f8b\/\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Java JSON\u306e\u4f8b\" \/>\n<meta property=\"og:description\" content=\"Java JSON\u306e\u4f8b\u3092\u5206\u304b\u308a\u3084\u3059\u304f\u89e3\u8aac\u3002\u5b9f\u8df5\u7684\u306a\u4f8b\u3068\u30b3\u30fc\u30c9\u3001\u6ce8\u610f\u70b9\u3092\u542b\u3081\u3066\u521d\u5fc3\u8005\u306b\u3082\u7406\u89e3\u3067\u304d\u308b\u3088\u3046\u8aac\u660e\u3057\u307e\u3059\u3002\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/ja\/blog\/java-json\u306e\u4f8b\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-11-04T19:58:29+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-31T14:50:09+00:00\" \/>\n<meta name=\"author\" content=\"\u967d, \u5411\u5b87\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u57f7\u7b46\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u967d, \u5411\u5b87\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"29\u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/java-json%e3%81%ae%e4%be%8b\/\",\"url\":\"https:\/\/www.silicloud.com\/ja\/blog\/java-json%e3%81%ae%e4%be%8b\/\",\"name\":\"Java JSON\u306e\u4f8b - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/#website\"},\"datePublished\":\"2023-11-04T19:58:29+00:00\",\"dateModified\":\"2025-07-31T14:50:09+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/#\/schema\/person\/4aef6196128551a0f5d66db46c42866c\"},\"description\":\"Java JSON\u306e\u4f8b\u3092\u5206\u304b\u308a\u3084\u3059\u304f\u89e3\u8aac\u3002\u5b9f\u8df5\u7684\u306a\u4f8b\u3068\u30b3\u30fc\u30c9\u3001\u6ce8\u610f\u70b9\u3092\u542b\u3081\u3066\u521d\u5fc3\u8005\u306b\u3082\u7406\u89e3\u3067\u304d\u308b\u3088\u3046\u8aac\u660e\u3057\u307e\u3059\u3002\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/java-json%e3%81%ae%e4%be%8b\/#breadcrumb\"},\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/ja\/blog\/java-json%e3%81%ae%e4%be%8b\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/java-json%e3%81%ae%e4%be%8b\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/ja\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java JSON\u306e\u4f8b\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/ja\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"ja\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/#\/schema\/person\/4aef6196128551a0f5d66db46c42866c\",\"name\":\"\u967d, \u5411\u5b87\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ad96b120e219751fa368cbd7d2c48ca01b59185e6ed394449bac72614a760bf3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ad96b120e219751fa368cbd7d2c48ca01b59185e6ed394449bac72614a760bf3?s=96&d=mm&r=g\",\"caption\":\"\u967d, \u5411\u5b87\"},\"url\":\"https:\/\/www.silicloud.com\/ja\/blog\/author\/hinatasora\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/java-json%e3%81%ae%e4%be%8b\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Java JSON\u306e\u4f8b - Blog - Silicon Cloud","description":"Java JSON\u306e\u4f8b\u3092\u5206\u304b\u308a\u3084\u3059\u304f\u89e3\u8aac\u3002\u5b9f\u8df5\u7684\u306a\u4f8b\u3068\u30b3\u30fc\u30c9\u3001\u6ce8\u610f\u70b9\u3092\u542b\u3081\u3066\u521d\u5fc3\u8005\u306b\u3082\u7406\u89e3\u3067\u304d\u308b\u3088\u3046\u8aac\u660e\u3057\u307e\u3059\u3002","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/ja\/blog\/java-json\u306e\u4f8b\/","og_locale":"ja_JP","og_type":"article","og_title":"Java JSON\u306e\u4f8b","og_description":"Java JSON\u306e\u4f8b\u3092\u5206\u304b\u308a\u3084\u3059\u304f\u89e3\u8aac\u3002\u5b9f\u8df5\u7684\u306a\u4f8b\u3068\u30b3\u30fc\u30c9\u3001\u6ce8\u610f\u70b9\u3092\u542b\u3081\u3066\u521d\u5fc3\u8005\u306b\u3082\u7406\u89e3\u3067\u304d\u308b\u3088\u3046\u8aac\u660e\u3057\u307e\u3059\u3002","og_url":"https:\/\/www.silicloud.com\/ja\/blog\/java-json\u306e\u4f8b\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-11-04T19:58:29+00:00","article_modified_time":"2025-07-31T14:50:09+00:00","author":"\u967d, \u5411\u5b87","twitter_card":"summary_large_image","twitter_misc":{"\u57f7\u7b46\u8005":"\u967d, \u5411\u5b87","\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593":"29\u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/ja\/blog\/java-json%e3%81%ae%e4%be%8b\/","url":"https:\/\/www.silicloud.com\/ja\/blog\/java-json%e3%81%ae%e4%be%8b\/","name":"Java JSON\u306e\u4f8b - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/ja\/blog\/#website"},"datePublished":"2023-11-04T19:58:29+00:00","dateModified":"2025-07-31T14:50:09+00:00","author":{"@id":"https:\/\/www.silicloud.com\/ja\/blog\/#\/schema\/person\/4aef6196128551a0f5d66db46c42866c"},"description":"Java JSON\u306e\u4f8b\u3092\u5206\u304b\u308a\u3084\u3059\u304f\u89e3\u8aac\u3002\u5b9f\u8df5\u7684\u306a\u4f8b\u3068\u30b3\u30fc\u30c9\u3001\u6ce8\u610f\u70b9\u3092\u542b\u3081\u3066\u521d\u5fc3\u8005\u306b\u3082\u7406\u89e3\u3067\u304d\u308b\u3088\u3046\u8aac\u660e\u3057\u307e\u3059\u3002","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/ja\/blog\/java-json%e3%81%ae%e4%be%8b\/#breadcrumb"},"inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/ja\/blog\/java-json%e3%81%ae%e4%be%8b\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/ja\/blog\/java-json%e3%81%ae%e4%be%8b\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/ja\/blog\/"},{"@type":"ListItem","position":2,"name":"Java JSON\u306e\u4f8b"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/ja\/blog\/#website","url":"https:\/\/www.silicloud.com\/ja\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"ja"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/ja\/blog\/#\/schema\/person\/4aef6196128551a0f5d66db46c42866c","name":"\u967d, \u5411\u5b87","image":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/www.silicloud.com\/ja\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ad96b120e219751fa368cbd7d2c48ca01b59185e6ed394449bac72614a760bf3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ad96b120e219751fa368cbd7d2c48ca01b59185e6ed394449bac72614a760bf3?s=96&d=mm&r=g","caption":"\u967d, \u5411\u5b87"},"url":"https:\/\/www.silicloud.com\/ja\/blog\/author\/hinatasora\/"},{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/www.silicloud.com\/ja\/blog\/java-json%e3%81%ae%e4%be%8b\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/posts\/470","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/comments?post=470"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/posts\/470\/revisions"}],"predecessor-version":[{"id":41019,"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/posts\/470\/revisions\/41019"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/media?parent=470"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/categories?post=470"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/tags?post=470"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}