C# ดึงข้อมูล JSON จาก WEB API

C# ดึงข้อมูล JSON จาก Web API หากพูดถึง Web API ที่ให้บริการในการดึงข้อมูลบ้างอย่างที่เราต้องการ สมัยนี้ format ข้อมูลที่ได้จากการเรียกใช้งาน Web API ที่นิยมเป็นส่วนใหญ่ก็จะอยู่ในรูปแบบ JSON (JavaScript Object Notation) ที่มีโครงการข้อมูลที่รองรับความซับซ้อนหลายชั้น ซึ่งในบทความนี้ผมจะลองใช้ C# ในการดึงข้อมูล Web API ที่เป็น JSON แปลงมาเป็น Object Class  เพื่อนำมาใช้งาน ซึ่งตัวอย่างนี้จะทำการสร้าง Window Application ดึงข้อมูลจาก typicode.com ที่ให้บริการทดสอบสร้างแบบจำลองการสร้าง web response ต่างๆ ทำให้ข้ามขั้นตอนการสร้าง Web Service ที่จะ response ข้อมูลออกมาเป็น JSON ได้เลยครับ เรามาเริ่มกันเลยดีกว่า โดยผมทำการสร้าง New Project เป็น Windows Forms Application ที่มีชื่อว่า FetchJSON จากนั้นทำการสร้างปุ่มเพื่อคลิกใช้งาน API ที่เราต้องการดึงข้อมูลแบบ JSON จากนั้นก็ double click ที่ปุ่มเพื่อเขียนโค้ด Event เมื่อทำการคลิกปุ่มโดยมีจะทำการดึงข้อมูลจาก URL นี้ครับ http://jsonplaceholder.typicode.com/posts ซึ่งมีโค้ดดังต่อไปนี้ [sourcecode language=”C#”] private void btnFetch_Click(object sender, EventArgs e) { string URL = “http://jsonplaceholder.typicode.com/posts”; WebClient wc = new WebClient(); string json = wc.DownloadString(URL); Console.WriteLine(json); } [/sourcecode] เมื่อลองรันโปรแกรมดูก็จะได้ผลลัพธ์เหมือนกับที่เราเรียก URL ผ่าน Web Browser เลยโดยผลลัพธ์ในโค้ดนั้นจะเก็บในตัวแปร json แล้วRead More →

ในบางครั้งในการใช้ข้อมูลจากฐานข้อมูลนั้นเมื่อทำการ query มาแล้วเราก็ต้องการเก็บข้อมูลไว้สักที 1 แล้วนำไปใช้เมื่อต้องการใน .net นั้นมีตัวแปรชนิด 1 ที่ชื่อว่า DataTable ซึ่งมันจะเปรียบเสมือนว่ามีข้อมูลเป็นตารางตามข้อมูลและเงื่อนไขที่เรากำหนดไว้ในตอน query ซึ่งใน .net นั้นจะมีการแปลงแบบอัตโนมัติกับแบบที่เราต้องเขียนคำสั่งในการวนลูปเพื่อแปลง Reader ให้ไปเป็น DataTable เริ่มแรกให้ทำการสร้างไฟล์ webform ขึ้นมาใหม่ก่อนจากนั้นทำการสร้าง GridView ขึ้นมา 2 อันเพื่อที่จะทำการกำหนดข้อมูลใน Grid โดย DataTable ทั้ง 2 แบบ จากนั้นก็ไปในส่วนของ code behind เพื่อทำการสร้างฟังก์ชั่น 2 อันที่มีชื่อว่า ReaderToDataTableAuto และ ReaderToDataTableManualRead More →

ASP.NET(C#) การเพิ่มข้อมูลลง Database ด้วยแบบ statement prepare หลังจากที่ดูตัวอย่างการดึงข้อมูลมาแสดงใน GridView แล้วมาครั้งนี้ดูการ insert หรือเพิ่มข้อมูลลงฐานข้อมูลบ้างว่ามีอะไร เริ่มแรกเหมือนทุกครั้งก็เปิด project หรือ website เริ่มต้น แล้วให้ทำการสร้างไฟล์ชื่อว่า prepare.aspx ตอนจากนั้นก็ให้ทำการสร้าง Label และ Textbox รวมไปถึง Button สร้างหน้า Form เพื่อเพิ่มข้อมูลในตาราง Shippers ในฐานข้อมูลตัวอย่าง Northwind โดการสร้าง Form นั้นจะลากจาก ToolBox หรือพิมโค้ดดังต่อไปนี้ก็ได้Read More →

จากบทความที่แล้ว ASP.net การใช้ GridView ครั้งนี้เรามาใช้ SqlDataReader กับ GridView กันบ้างโดยก่อนที่จะสามารถใช้ SqlDataReader ได้นั้นเราก็ต้องทำการเปิด Connection แล้วคำสั่งที่ใช้สำหรับดึงข้อมูลซะก่อนซึ่งข้อมูลในฐานข้อมูลนั้น ผมใช้เป็นข้อมูลตัวอย่าง Northwind เรามาเริ่มกันเลยดีกว่า ขั้นแรกผมทำการสร้างไฟล์ WebForm โดยตั้งชื่อว่า Query.aspx ดังรูป ต่อจากนั้นทำการเปิดไฟล์ Query.cs เพื่อทำการเขียนโค้ด โดยจำเป็นต้องมีการใช้ library สำหรับเชื่อมต่อฐานข้อมูล SQLServer โดยใช้คำสั่งRead More →

ตอนนี้ผมได้ทำการ สร้าง fan page ไว้ใน facebook แล้วนะครับ ก็ขอให้ทุกท่านที่อ่านบทความช่วยไปกด like กันได้นะครับ โดยผมได้ติด fan page widget ไว้ด้านขวาของเว็บนะครับ และท่านที่จะติดตามบทความผ่านอีเมล ก็สามารถ subscribe โดยใส่ email ใน form ติดตามบทที่อยู่ด้านความด้านขวาเช่นกัน และตอนนี้ผมได้ทำการเพิ่ม site อีกอันคือ ThaiCoding IT News จะเป็นเกี่ยวกับข่าวในวงการไอทีต่างๆนะครับ ซึ่งบ้างครั้งก็จะเป็นบทวิจารณ์ของผมเองเพราะ การเขียนบทความใน thaicoding มักใช้เวลานานเพราะต้องรอเขียนโปรแกรมก่อนจึงจะเขียนได้แต่ข่าวไอทีสามารถโพสได้เลย จึงทำให้เกิด site ในส่วนของข่าวไอทีขึ้น ส่วนบทความหลักผมก็จะเขียนต่อไปแน่นอนครับRead More →

private เป็นคำสงวนในภาษา C# ซึ่งเป็น member access modifier. Private access นั้นจะมีการกำหนดสิทธิในการเรียกใช้หรือเข้าถึงได้น้อยมาก ซึ่ง Private นั้นจะอนุญาตให้เฉพาะภายใน class เดียวกันเท่านั้น class อื่นจะไม่สามารถเรียกใช้ได้ ซึ่งจะทำให้เป็นข้อดีสำหรับการเขียนโปรแกรมแบบ oop ซึ่งจะเป็นการกำหนดให้ใช้ข้อมูลบ้างอย่างใช้ได้เฉพาะในคลาสเท่านั้นคลาสอื่นไม่สามารถเข้าถึงได้ดังนั้นจึงทำให้การเขียนโปรแกรมแบบ oop นั้นจะต้องมีพวก method get และ set เกิดขึ้นนั้นเอง เรามาดูโปรแกรม C# ที่จะแสดงตัวอย่างให้ดูกันดีกว่า โดยให้สร้าง console application ตั้งชื่อว่า privated แล้วพิมพ์โค้ดตามนี้ครับRead More →

ภาษา C# นั้นก็เป็นภาษาแบบ OOP เหมือนกันเพราะฉะนั้นก็จะต้องมีเรื่องของ Access Modifiers เข้ามาเกี่ยวข้องอย่างแน่นอนเพราะการเขียนโปรแกรมแบบ OOP นั้นจะต้องมีการกำหนดสิทธิ์เข้าถึงของแต่ละ Object หรือ member ใน Object แต่ละ Object บทความนี้จึงจะพูดถึง Access Modifiers ในภาษา C# ซึ่งมี 4 แบบด้วยกันคือ public protected internal private ตัวแรกคือ public ตัวนี้เป็น Access Modifiers ที่ไม่สนใจอะไรทั้งนั้นทุกคลาสสามารถอาจถึงและเรียกใช้มันได้เรามาดูโค้ดตัวอย่างกัน ในตอนแรกเราก็สร้าง Console Application ของภาษา C# ดังรูปRead More →

ในบทความนี้จะเขียนเกี่ยวกับเทคนิคเล็กๆน้อยใน Visual Studio ที่ใช้เขียนภาษา C# ?ซึ่งผมลองใช้ใน VB แล้วปรากฏว่าคำสั่ง region ใน vb ไม่ทำงาน แต่ใน C# มันทำงาน แล้ว region มันใช้ทำอะไรละ ซึ่งบ้างคนก็รู้แล้วมันใช้ในการจัดรูปแบบโค้ดให้เขียนง่ายขึ้นนั้นเอง ซึ่งมันใช้โดยการเขียนคำสั่ง #region ชื่อที่ต้องการ จากนั้นก็ #endregion เป็นการปิดคำสั่ง ซึ่งจากอาจจะไม่เข้าใจ ให้ลองสร้าง project ขึ้นมาใหม่เป็น Window Form Application จากนั้นไปที่ Program.cs จากนั้นให้พิมพ์ #region property ใต้ method main แล้วก็พิมพ์ #endregion ปิดด้วยดังรูปRead More →

หลังจากที่ใช้เวลากับการนั่งมั่วเขียนเกมส์โดยใช้ xna framework ซึ่งเขียนกับ visual c# ผมก็เขียนได้ออกมาเกมส์น่าเกลียดออกมาเกมส์หนึ่งเลยคิดว่าลองเขียนบทความเกี่ยวกับการเขียนเกมส์โดย xna framework โดยเริ่มแรกให้สร้าง project ใหม่โดยเลือกเป็น visual c# แล้วเลือก XNA Game Studio 3.1 โดยขั้นแรกสุดเลือกคือ ติดตั้ง xna framework ซึ่งโหลดได้จาก http://creators.xna.com/en-US/?? หลังจากที่เราเลือก Windows Game(3.1) แล้วก็ตั้งชื่อตามต้องการRead More →

สอน Visual C# การใช้ while loop มีเวลาว่างมาเขียนบทความอีกครั้ง ก็เลยตัดสินใจเขียนบทความภาษา C# หลังจากที่ลังเลว่าจะเขียนบทความภาษาอะไรดีจะเป็นของค่าย Java หรือ Microsoft ดี ในบทความนี้จะเป็นลูปพื้นฐานอีกแบบหนึ่งก็คือ while loop โดยโปรแกรมที่เราสร้างขึ้นจะคล้ายกับโปรแกรมในบทความที่แล้วเพียงเปลี่ยนเป็น while loop ขั้นแรกก็เปิดโปรแกรม visual studio ขึ้นมาสร้าง project ใหม่เป็นแบบ windows form application ชื่อว่า cshape-whileloopRead More →