Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone



Clound SSD Virtual Server

Android and JSON (GSON)

Android and JSON (GSON) การนำ JSON ปัจจุบัน JSON ได้กลายเป็นมาตรฐานในการรับส่งข้อมูลผ่าน Interface ต่าง ๆ ไปแล้ว โดยส่วนมากจะใช้กับการรับส่งข้อมูลภายนอก App เช่น ข้อมูลผ่าน HTTP , Web Services หรือแม้กระทั่ง API ที่ใช้กันบน Cloud Server ก็ยังใช้ JSON มาเป็นมาตรฐานในการรับส่งข้อมูล ฉะนั้นในการเขียน Android App จำเป็นมากที่จะต้องรู้จักวิธีการใช้งาน JSON ให้ถูกต้อง เพราะมันจะช่วยให้การจัดการกับข้อมูลนั้นง่ายและสะดวกมาก ๆ

Android and JSON (GSON)


สำหรับ GSON เป็น Library ตัวหนึ่งที่ค่อยข้างจะได้รับความนิยมมาก เพราะมันมีรูปแบบการใช้งานที่ง่ายมาก และมันยังถูกนำไปใช้กับ Library อื่น ๆ อีกหลายตัว อาทิเช่น OkHttp , AsyncHttpClient , Ion โดย Library กลุ่มนี้ช่วยในการติดต่อรับ-ส่งข้อมูลผ่าน HTTP ซึ่งใช้ GSON ในการที่จะแปลงข้อมูลได้ในทั้งรูปแบบการส่งและรับ

Download GSON for Android

Grandle for Android Studio
compile 'com.google.code.gson:gson:2.5'


Android and JSON (GSON)

กรณีใช้ไฟล์ JAR ให้ดาวน์โหลดมา Import ใน Eclipse หรือ Android Studio

Android and JSON (GSON)

การติดตั้งสามารถดาวน์โหลดไฟล์ .JAR แล้วนำไป Import ลงใน Eclipse หรือ Android Studio


สำหรับตัวอย่างและ Code นี้รองรับการเขียนทั้งบนโปรแกรม Eclipse และ Android Studio

- การอ่าน JSON แบบง่าย ๆ

JSON Code
{"sName":"Sawatdee : Weerachai Nukitram","sEmail":"Sawatdee : [email protected]"}

Java Code
String json = "{\"sName\":\"Sawatdee : Weerachai Nukitram\",\"sEmail\":\"Sawatdee : [email protected]\"}";
		
JsonObject result = new JsonParser().parse(json).getAsJsonObject();
String strResultName = result.get("sName").getAsString();
String strResultEmail = result.get("sEmail").getAsString();	
การอ่านค่า JSON ที่มาจากข้อมูล Object หรือ ชุดเดียว


- การอ่าน JSON ที่ที่ Array แบบ 2 มิติ

JSON Code
[{
"MemberID":"1",
"Name":"Weerachai",
"Tel":"0819876107"
},
{
"MemberID":"2",
"Name":"Win",
"Tel":"021978032"
},
{
"MemberID":"3",
"Name":"Eak",
"Tel":"087654321"
}]

Java Code
		String json = "[{\"MemberID\":\"1\",\"Name\":\"Weerachai\",\"Tel\":\"0819876107\"}" +
				 ",{\"MemberID\":\"2\",\"Name\":\"Win\",\"Tel\":\"021978032\"}" +
				 ",{\"MemberID\":\"3\",\"Name\":\"Eak\",\"Tel\":\"0876543210\"}]";
		

		JsonArray result = (JsonArray) new JsonParser().parse(json);
		for (int i = 0; i < result.size(); i++) {
			JsonElement elem = result.get(i);
			JsonObject obj = elem.getAsJsonObject();

			HashMap<String, String> map = new HashMap<String, String>();
			map.put("MemberID", obj.get("MemberID").getAsString());
			map.put("Name", obj.get("Name").getAsString());
			map.put("Tel", obj.get("Tel").getAsString());
			MyArrList.add(map);
		}
การอ่าน JSON ที่มีค่าแบบ Array 2 มิติจะใช้ ArrayList และ HashMap เข้ามาเก็บค่า Index และ Key

สามารถสร้างเป็น List เพื่อ Mapping กับ List<T> ได้เช่นเดียวกัน

Java Code
	public static class MyMebmer {
		public String MemberID;
		public String Name;
		public String Tel;
	}

Java Code
		String json = "[{\"MemberID\":\"1\",\"Name\":\"Weerachai\",\"Tel\":\"0819876107\"}"
				+ ",{\"MemberID\":\"2\",\"Name\":\"Win\",\"Tel\":\"021978032\"}"
				+ ",{\"MemberID\":\"3\",\"Name\":\"Eak\",\"Tel\":\"0876543210\"}]";

		Type listType = new TypeToken<List<MyMebmer>>() {}.getType();
		List<MyMebmer> ls = new Gson().fromJson(json, listType);

		// Loop for Display
		for (MyMebmer val : ls) {
			System.out.println(val.MemberID);
			System.out.println(val.Name);
			System.out.println(val.Tel);
		}









- การสร้าง JSON Code ผ่าน Java Android แบบง่าย ๆ

Java Code
		Gson gson = new Gson();
		JsonObject object = new JsonObject();
		object.addProperty("MemberID","1");
		object.addProperty("Name","Weerachai");
		object.addProperty("Tel","0819876107");
	   
		String json = gson.toJson(object);

JSON Code
{"MemberID":"1","Name":"Weerachai","Tel":"0819876107"}



- การสร้าง JSON Code แบบ Array 2 มิติ

Java Code
		Gson gson = new Gson();
		
		ArrayList<JsonObject> MyArrJson = new ArrayList<JsonObject >();
		JsonObject object;
		
		/*** Rows 1 ***/
		object = new JsonObject();
		object.addProperty("MemberID","1");
		object.addProperty("Name", "Weerachai");
		object.addProperty("Tel", "0819876107");
		MyArrJson.add(object);

		/*** Rows 2 ***/
		object = new JsonObject();
		object.addProperty("MemberID","2");
		object.addProperty("Name", "Win");
		object.addProperty("Tel", "021978032");
		MyArrJson.add(object);	

		/*** Rows 3 ***/
		object = new JsonObject();
		object.addProperty("MemberID","3");
		object.addProperty("Name", "Eak");
		object.addProperty("Tel", "0876543210");
		MyArrJson.add(object);	
	   
		String json = gson.toJson(MyArrJson);

JSON Code
[{
"MemberID":"1",
"Name":"Weerachai",
"Tel":"0819876107"
},
{
"MemberID":"2",
"Name":"Win",
"Tel":"021978032"
},
{
"MemberID":"3",
"Name":"Eak",
"Tel":"087654321"
}]








.

   
Share


ช่วยกันสนับสนุนรักษาเว็บไซต์ความรู้แห่งนี้ไว้ด้วยการสนับสนุน Source Code 2.0 ของทีมงานไทยครีเอท


ลองใช้ค้นหาข้อมูล


   


Bookmark.   
       
  By : ThaiCreate.Com Team (บทความเป็นลิขสิทธิ์ของเว็บไทยครีเอทห้ามนำเผยแพร่ ณ เว็บไซต์อื่น ๆ)
  Score Rating :  
  Create/Update Date : 2015-12-01 11:43:58 / 2017-03-26 22:14:51
  Download : No files
 Sponsored Links / Related

 
Android and JSON
Rating :

 
Android and Web Server ของ PHP กับ MySQL แสดงบน ListView ในรูปแบบของ JSON
Rating :

 
Android JSON Retrieving Data from URL Web Server (PHP MySQL and JSON)
Rating :

 
Android Loading JSON and ProgressBar/ProgressDialog
Rating :

 
Android Web Service and JSON Parser
Rating :

 
Android XML Parsing and XML Rss Feed
Rating :


ThaiCreate.Com Forum


Comunity Forum Free Web Script
Jobs Freelance Free Uploads
Free Web Hosting Free Tools

สอน PHP ผ่าน Youtube ฟรี
สอน Android การเขียนโปรแกรม Android
สอน Windows Phone การเขียนโปรแกรม Windows Phone 7 และ 8
สอน iOS การเขียนโปรแกรม iPhone, iPad
สอน Java การเขียนโปรแกรม ภาษา Java
สอน Java GUI การเขียนโปรแกรม ภาษา Java GUI
สอน JSP การเขียนโปรแกรม ภาษา Java
สอน jQuery การเขียนโปรแกรม ภาษา jQuery
สอน .Net การเขียนโปรแกรม ภาษา .Net
Free Tutorial
สอน Google Maps Api
สอน Windows Service
สอน Entity Framework
สอน Android
สอน Java เขียน Java
Java GUI Swing
สอน JSP (Web App)
iOS (iPhone,iPad)
Windows Phone
Windows Azure
Windows Store
Laravel Framework
Yii PHP Framework
สอน jQuery
สอน jQuery กับ Ajax
สอน PHP OOP (Vdo)
Ajax Tutorials
SQL Tutorials
สอน SQL (Part 2)
JavaScript Tutorial
Javascript Tips
VBScript Tutorial
VBScript Validation
Microsoft Access
MySQL Tutorials
-- Stored Procedure
MariaDB Database
SQL Server Tutorial
SQL Server 2005
SQL Server 2008
SQL Server 2012
-- Stored Procedure
Oracle Database
-- Stored Procedure
SVN (Subversion)
แนวทางการทำ SEO
ปรับแต่งเว็บให้โหลดเร็ว


Hit Link
   







Load balance : Server 00
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่