json_t *json_loadf(FILE *input,size_t flags,json_error_t *error)というJANSSONの関数をソースコード上に記述し、ビルドを行いました。そして、ビルドが失敗してしまいました。
JANSSONを用いたソースコードの作成が上手くいかず、3週間以上も足止めを食らっています。JANSSONに拘る理由はなく、異なるアプローチでも目的を達成できればいいです。ご協力お願いします。
開発環境
・JANSSON2.5
・microsoft visual studio express 2012 for windows desktop
・PHP5.2.4
・windows8
.cmake 2.8.12.1(JANSSONのファイルを生成するために必要みたいです)
↓パースを行うためのソースコード(仮)
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <jansson.h>
int main(void){
FILE *file;
json_error_t error;
fopen_s(&file,"test.text","r");
json_loadf(file, 0, &error);
fclose(file);
return 0;
}
<?php
//ライブラリ読み込み
require_once('./UltimateOAuth.php');
//タイムゾーンを東京に設定
//(date関数をあとで使うならば必要)
//date_default_timezone_set('Asia/Tokyo');
// パラメータの設定
$ck = 'consumerkey';
$cs = 'sonsumersecret';
$at = 'accesstoken';
$as = 'accesssecret';
// UltimateOAuthオブジェクト生成
$uo = new UltimateOAuth($ck, $cs, $at, $as);
//ユーザータイムラインの取得。TwitterからJSON形式の文字列が返ってくるが、
//自動的にjson_decodeに通されてstdClassオブジェクト化される
$statuses = $uo->get('statuses/user_timeline');
//UTF-8にすることで文字化けを回避できる
header('Content-Type: text/html; charset=utf-8');
//stdClassの処理
//$js = new stdClass;
echo json_encode($statuses,JSON_UNESCAPED_UNICODE);
//ファイルの作成
$filename = './json.text';
$fp=fopen($filename,'w');
//ファイルの書き込み、閉じる
fwrite($fp,sprintf(json_encode($statuses,JSON_UNESCAPED_UNICODE)));
//ファイルの出力
file_get_contents($filename);
fclose($fp);
?>
【エラー】
・json_loadf(file, 0, &error);の場合
http://kie.nu/1yD1
・//json_loadf(file, 0, &error);の場合
http://kie.nu/1yD6