ข้ามไปที่เนื้อหาหลัก

JSON Spirit

พอเริ่มที่จะต้องแลกเปลี่ยนข้อมูลกันระหว่างโปรแกรม คำถามคือใช้อะไร แบบใหน โปรโตคอลอะไรดี สำหรับ Thesis ที่ทำขึ้นใหม่นี้ใช่เวลาไม่นานเพื่อหาคำตอบนี้ โดยความตั้งใจว่าจะใช้ JSON :D ปัญหาอยู่ที่ว่าไม่เคยเขียนโปรแกรมโดยใช้ JSON ด้วย C++ มาก่อน หลังจากหาข้อมูลอยู่พักใหญ่จึงไปตกลงใจที่ JSON Spirit ก่อนเริ่มเขียนโปรแกรมก็ควรติดตั้งไลบรารีกันก่อนนะครับ

# aptitude install libjson-spirit-dev

เสร็จสิ้นแล้วเริ่มเขียนโปรแกรมกันเลย ตัวอย่างแรก

#include <iostream>
#include <string>
#include <vector>
using namespace std;

#include <json_spirit.h>

int main (){

string json = "[1,2,3,4,5,6]";
cout << "The JSON string: " << json << endl;
json_spirit::Value value;
cout << "Read JSON string: " << json_spirit::read(json, value) << endl;

std::vector< json_spirit::Value > array = value.get_array();

for( int i = 0; i < array.size(); i++)
cout << "Get JSON value " << i << ": " << array[i].get_int() << endl;
return 0;
}  


ส่วนวิธีคอมไพล์โปรแกรมคือ

$ g++ json_list.cpp -o json_list -ljson_spirit
$./json_list
The JSON string: [1,2,3,4,5,6]
Read JSON string: 1
Get JSON value 0: 1
Get JSON value 1: 2
Get JSON value 2: 3
Get JSON value 3: 4
Get JSON value 4: 5
Get JSON value 5: 6

อีกตัวอย่างนึ่ง อันนี้จะซับซ้อนมากกว่าเดิม

#include 
#include 

using namespace std;

#include 

int main (){

std::string json = "{\"a man\":{\"name\":\"a man\",\"age\":25},\"a boy\":{\"name\":\"a boy\", \"age\":15}}";
cout<<"The JSON string: "<
json_spirit::Value value;
cout<<"Read JSON string: "<
json_spirit::Object obj = value.get_obj();

for( int i = 0; i < obj.size(); i++){
    json_spirit::Pair pair = obj[i];
    json_spirit::Value val = pair.value_;
    
    cout<<"Key: "<    cout<<"Property: "<    
    json_spirit::Object pro = val.get_obj();
    for( int j = 0; j < pro.size(); j++){
        json_spirit::Pair pair = pro[j];
        if (pair.name_ == "name")
            cout<<"-> \""<        else if (pair.name_ == "age")
            cout<<"-> \""<    }
}
 
return 0;
}


คอมไฟล์และรัน
$ g++ json_dict.cpp -o json_dict -ljson_spirit
$ ./json_dict
The JSON string: {"a man":{"name":"a man","age":25},"a boy":{"name":"a boy", "age":15}}
Read JSON string: 1
Key: a man
Property:
-> "name":a man
-> "age":25
Key: a boy
Property:
-> "name":a boy
-> "age":15

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

ตัวเอ๋ยตัวผม

กลอนนี้ใช้เวลาประมาณ 20 นาทีเขียนขึ้นมาในห้องเรียนวิชาสัมนา 1 เพราะอาจารย์อยากให้แนะนำตัวเองเป็นกลอน ไม่รู้จะแต่งว่าไงเลยแต่งออกมาเป็นดอกสร้อย เห็นว่าพอใช้ได้เลยเอามาลงไว้เป็นอนุสร ๏ ตัวเอ๋ยตัวผม นิยมในพระพุทธศาสนา ตั้งจิตตั้งใจตั้งหน้า ใฝ่หาความรู้สู่ตน ตั้งใจศึกษาให้เชี่ยวชาญ ชำนาญในศาสตร์ที่ฝึกฝน ฝึกจิตฝึกสันดานให้เป็นคน เป็นชนในชาติที่ดีเอย ๚ะ๛

บันทึกการจัดงานศพ: พิธีฌาปนกิจศพ

ตรงส่วนนี้คงจะเขียนเกี่ยวกับพิธียกศพออกจากบ้าน และเกร็ดต่างๆ เล็กๆ น้อยๆ เนื่องจากที่จัดงานจะไม่นิยมไว้ศพที่วัด จะไว้ศพที่บ้าน และถ้าเป็นไปได้จะไว้ศพในบ้านเสียด้วยซ่ำ เมื่อถึงวันฌาปนกิจศพ หรือเผาศพ ก็จะมีการเซ่นไหว้ครั้งใหญ่ก่อนเคลื่อนย้ายศพไปวัดเพื่อฌาปนกิจ เครื่องเซ่นไว้จะประกอบไปด้วย ข้าว 5 ถ้วย กับข้าว 5 อย่าง หัวหมู ไก่ต้ม ไข่ต้ม หมูสามชั้นต้ม หมี่เหลืองผัด กุ้ง หอย ปู ปลา ผลไม้ 5 อย่าง ขนมขึ้น เมื่อมีการเซ่นไหว้ทุกครั้งจะต้องมี สัปรด น้ำชา 3 จอก เหล้าขาว 5 จอก(หลานๆ บอกว่าเจ็คไม่กินเหล้าขาว แต่มีคนบอกว่าเป็นการไหว้ตามประเพณี ^^ ) ซึ่งแต่ละอย่างมีความหมาย แต่ผมจำไม่ได้ต้องหาอีกครั้งนึง ตัวอย่างเครื่องเซ่นไหว้ เมื่อถึงพิธีเซ่นไหว้ จะมีการเซ่นไหว้โดยแบ่งออกเป็นคณะ แต่เพื่อความสะดวกและรวบรัดจึงมีการไหว้เพียงไม่กี่คณะ ซึ่งก็เหมือนเดิมคือผู้ที่มีศักดิ์สูงกว่าจะไม่รวมการเซ่นไหว้ครั้งนี้ คณะแรกจะเป็นผู้ไกล้ชิดผู้ตายมากที่สุดเริ่มตั้งแต่ลูกและภรรยา หลังจากนั้นก็จะเป็นน้องๆ แล้วก็หลานๆ และก็มิตรรักและผู้คนที่นับถือผู้ตาย หากเป็นเมื่อสมัยก่อนนั้น ต้องแยกออกเป็นเขย เป็นสะไภ้ ไหว้กันหลายยกหล

ด้วยระลึกถึงคุณย่า บันทึกจากความทรงจำ

บันทึกนี้เขียนขึ้นเพื่อบันทึกความทรงจำของผมที่มีต่อคุณย่าที่ล่วงลับไปแล้วอย่างไม่มีวันหวนคืน คุณย่าเปรียบเหมือนฟางเส้นสุดท้ายที่ร้อยครอบครัวใหญ่ของเราเอาไว้ไม่ให้แตกแยก หลังจากที่เสียคุณปู่ไปเมื่อ 23 ปีก่อน เนื่องจากบริเวณจังหวัดกระบี่ ตรัง พังงา ภูเก็ต มีชาวจีนอาศัยอยู่มาก แต่มักจะเป็นชาวจีนที่อพยพมาไทยนานแล้ว จากการการสังเกตของผม ชาวจีนแถบนี้โดยมากน่าจะเป็นชาว เปอรานากัน หรือชาวจีนที่อพยพมาจากจีนแล้วตั้งถิ่นฐานอยู่ในแหลมลายูหรืออินโดนีเซีย แล้วหลังจากนั้นจึงอพยพมาอาศัยต่อที่ประเทศไทย จากการบอกเล่าของคุณแม่ ก๋งเคยเล่าให้ฟังว่าตอนยังเด็กเคยแจวเรือจ้างอยู่ที่ปีนัง คุณย่าเคยเล่าว่าเป็นชาวฮกเกี้ยน อีกทั้วจากรูปวาดคุณย่าทวดที่มีการเกล้ามวยผม สวมเสื้อคอลึก ส่วนทางบ้านมีการใช้คำเรียกจีนผสมไทยถิ่นใต้อยู่มาก ผู้หญิงทุกคนนิยมสวมผ้าปาเต๊ะ เสื้อลูกไม้ (เสื้อฉลุลายดอกไม้) อาหารการกินเป็นแบบชาวไทยถิ่นใต้ทุกประการ (กินน้ำพริก แกงส้มเก่งกันทุกคน ยกเว้นก๋ง :D) อีกทั้งก๋งเกิดที่ดินแดนแถบนี้ไม่ได้เดินทางมาจากเมืองจีน (บางทีเรียก เตี่ยต่อเตี่ย คือ ทวดมาจากจีน ส่วนสถานที่เกิดไม่แน่ใจว่าเป็นปีนังหรือไทย)