Ads 468x60px

##EasyReadMore##

23 6月, 2014

C 語言產生 json 檔

產生多份 name、path、info 的key 代有各自的數值
#include "json-c-0.11/json.h"
struct json_object *json,   *json_list,*json_file_array;
//create json object
json_list = json_object_new_object();
json_file_array = json_object_new_array();
//make json array
for( int i = 0;i < file_size;i++){
    json = json_object_new_object();
    json_object_object_add(json,"name",json_object_new_string(file[i]+1));
    json_object_object_add(json,"path",json_object_new_string(Path[i]));
    json_object_object_add(json,"info",json_object_new_string(Artist[i]));
    //insert above data to array
    json_object_array_add(json_file_array,json);
}
//insert array in object
json_object_object_add(json_list, "playlist", json_file_array);
//make json to file
json_object_to_file(json_path, json_list);
// free
json_object_put(json_file_array);
json_object_put(json_list);
json_object_put(json);

產生結果如下:
{"playlist":[{"name":"30916834.mp3","path":"\/Public\/output\/","info":"群星"},{"name":"55.鄧紫棋 - 存在.mp3","path":"\/Public\/output\/","info":"鄧紫棋"},{"name":"鄧紫棋 - 存在.mp3","path":"\/Public\/output\/","info":"鄧紫棋"},{"name":"03. 孝琳 (SISTAR) - Don’t love me.mp3","path":"\/Public\/output\/","info":"unknow"}]}
json 介紹:
  • 物件 (object):一個物件以「{」開始,並以「}」結束。一個物件包含一系列非排序的名稱/值對,每個名稱/值對之間使用「,」分割。
  • 名稱/值(collection):名稱和值之間使用「:」隔開,一般的形式是:
{name:value}


一個名稱是一個字串; 一個值可以是一個字串,一個數值,一個物件,一個布爾值,一個有序列表,或者一個null值。



  • 值的有序列表(Array):一個或者多個值用「,」分割後,使用「[」,「]」括起來就形成了這樣的列表,形如:


[collection, collection]



  • 字串:以""括起來的一串字元。


  • 數值:一系列0-9的數字組合,可以為負數或者小數。還可以用「e」或者「E」表示為指數形式。


  • 布林值:表示為 true 或者 false。


在很多語言中它被為和解釋為陣列。


http://zh.wikipedia.org/wiki/JSON

0 意見:

張貼留言

 
Blogger Templates