JSONã¯ä¾¿å©ãªãã¼ã¿è¡¨ç¾ãªãã ãã©ã
- åæ å ±ãä»å ã§ããªã
- ããã·ã¥ã®ãã¼ã«å¼ç¨ç¬¦ãä»ããã®ãã¤ã¤
ã¨ããçç±ã§ï¼2çªç®ã¯ãã¾ãæ¬è³ªçã§ã¯ãªããã©ï¼ãJSONæ¹ï¼å¾ã§Xionã«æ¹åï¼ã¨ãããã¼ã¿è¡¨ç¾ãææ¡ãã¾ãã*1ã
JSON:
{ "familyName" : "æ¿æ±", "givenName" : "ãã³å", "age" : 27, "sex" : "male", "company" : { "name" : "(æ ª)æ±è¥¿ãã©ãã«", "url" : "http://www.example.jp/tozai-travel/" }, "hobbies" : ["çæ ½", "é£ã", "çç»"] }
JSONæ¹ï¼Xionï¼:
Person { familyName : "æ¿æ±", givenName : "ãã³å", age : 27, sex : Sex "male", company : Company { name : "(æ ª)æ±è¥¿ãã©ãã«", url : URL "http://www.example.jp/tozai-travel/" }, hobbies : ["çæ ½", "é£ã", "çç»"] }
JSONæ¹ã®è¡¨ç¾ã§ã¯ãPerson, Sex, Company, URLããã¼ã¿åã示ãèå¥åï¼ååãã½ã¼ãï¼ã§ãã
å®ã¯æ¢ã«ãJSONæ¹ã¨ã½ãã¯ãªãªãã¼ã¿è¡¨ç¾ããããã§ãããï¼ããä¸ï¼ã
@Person ( familyName = "æ¿æ±", givenName = "ãã³å", age = 27, sex = Sex.male, company = @Company ( name = "(æ ª)æ±è¥¿ãã©ãã«", url = @URL("http://www.example.jp/tozai-travel/") ), hobbies = {"çæ ½", "é£ã", "çç»"} )
ããã¯ä½ãã£ã¦ï¼ Javaã®ã¢ããã¼ã·ã§ã³ã§ã :-) ãåã«ãã¼ã¿ã¤ã³ã¹ã¿ã³ã¹ããªãã©ã«è¡¨è¨ã§ããã ããããªãã¦ããã£ã¡ãã¨ã¹ãã¼ãï¼ãã¼ã¿åï¼å®ç¾©ãã§ãããã妥彿§æ¤è¨¼ã¾ã§ãã¦ããã¾ããã¾ã¼ããªãã¦ç´ æµãªãã§ããï¼
enum Sex {male, female} @interface URL { String value(); } @interface Company { String name() default ""; URL url() default @URL(""); } @interface Person { String familyName(); String givenName(); int age(); Sex sex(); Company company() default @Company(); String[] hobbies() default {}; } @Person ( familyName = "æ¿æ±", givenName = "ãã³å", age = 27, sex = Sex.male, company = @Company ( name = "(æ ª)æ±è¥¿ãã©ãã«", url = @URL("http://www.example.jp/tozai-travel/") ), hobbies = {"çæ ½", "é£ã", "çç»"} ) public class Foo { }
æ®å¿µãªã®ã¯ããã¼ã¿è¡¨ç¾ãã¯ã©ã¹ã¨ãã¡ã½ããã«ã²ã£ã¤ããªãã¨ä½¿ããªããã¨ã§ããããã§ãã¾ã¼ãåç°¿ãæ¬¡ã«ããã«æ¸ãã¾ãã
public class People { @Person ( familyName = "æ¿æ±", givenName = "ãã³å", age = 27, sex = Sex.male ) public void tonkichi(){}; @Person ( familyName = "大å£", givenName = "ãã±å", age = 21, sex = Sex.female ) public void pekeko(){}; // // ... // }
ã¯ã©ã¹ãã¡ã¤ã«ããã¼ã¿ã¹ãã¬ã¼ã¸ã«ãªãã¾ããã誰ããªãã¬ã¯ã·ã§ã³ã使ã£ã¦ããã¼ã¿ãã¼ãããã©ãDOM風APIã¨ãæ¤ç´¢ãããSQL風åãåããè¨èªãä½ã£ã¦ããã¾ãããããã
*1:ãã詳ããã¯ããJSONæ¹ï¼XMLã¨ã®æ¯è¼ãããJSONæ¹ï¼åºæ¬æ§æããåç §ã