12 มกราคม 2010[Google Maps Geocoding] ลอง Parse Json ด้วย Groovy + Java (Netbeans)

โปรเจ็คตลกๆมาอีกแล้ว  เพราะโปรเจ็คนี้ผมใช้  Json Lib + + Java

แต่ผมใช้ ดึง json (URL.text) แล้วใช้ Java เป็นตัวแกะ jsonObject เป็น jsonArray

หลังจากนั้นเอาข้อมูลโยนกลับไปให้ ถอดเอาเฉพาะส่วนที่ต้องการออกมา (ในที่นี้คือ coordinates — latitude ,longitude นั่นแหละ)

ดูวุ่นวายมาก ทั้งๆที่ เขียน อย่างเดียวก็ได้ เพราะ Json Lib ก็ลองรับ groovy  หรือจะเขียน Java เพียวๆ เลยก็ได้ 

 

เรื่องของเรื่องคืออยากเขียน Java ร่วมกับ อีกครั้ง เพราะไม่ค่อยถูกกับ Java จริงๆ

มันดูเวื่นเว้อ  มันเขียนเวิ่นเว้อด้วย ยาวๆ งงๆ (อาจเป็นเพราะไม่ได้ศึกษาอย่างลึกซึ้ง)

มันสั้น เข้าใจง่าย ไม่เวิ้นเว้อ (อาจจะใช้ได้ไม่เต็มประสิทธิภาพ แต่ผมชอบ พวก Closures )

 

เหตุผลที่ไม่เขียน เพียวๆไปเลยก็เพราะว่า 

code ตัวอย่างที่เค้ามีให้ดู มันพิมพ์ผิด 

def fromList = [1,true,'json'as JSONarray  

มันควรจะต้องเป็น JSONArray  เมื่อแก้และเอาอันอื่นมาลองดู มัน cast เป็น Type พวก net.sf.json.* ไม่ได้ อาการประมาณนี้ 

ก็เลยลองซัด Java + ไปเลย

มันก็เจอปัญหานิดหน่อยเพราะ ไม่ได้อ่าน Dependency List เลยค่อยๆตามหา พอได้ครบแล้วเพิ่งจะเห็นว่ามันมีบอกไว้ว่า 

Json-lib requires (at least) the following dependencies in your classpath:

  • jakarta commons-lang 2.4
  • jakarta commons-beanutils 1.7.0
  • jakarta commons-collections 3.2
  • jakarta commons-logging 1.1.1
  • ezmorph 1.0.6

น่าเขกกะโหลกจริงๆ

code ก็มีแค่นี้หน้าที่หลักๆก็ ไปดึง Json มา กับ ถอด Coordinates ออกมาจาก JSONArray

ส่วน code java  ก็มีแค่

เปลี่ยน Json Object มาเป็น Json แล้วก็ทำตัวเป็น class ที่มี Constructor รับ String 1 ตัว หนึ่งอันเท่านั้นแหละ

 

เรียบร้อย เอา .jar ไปใช้ได้เลย !

ปล. src code เป็น netbeans อยู่ที่  github แล้ว

 


Related Blogs


Tags: , , , , ,
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...
blog comments powered by Disqus
Get Adobe Flash playerPlugin by wpburn.com wordpress themes