2015-09-16 27 views
1

使用rapidjson,我怎麼能編碼一個數字爲json格式?我有123.321,我想將其轉換爲「123.321」,然後將其保存在一個文件中。後來使用json將其轉換回123.321。 我不想使用保存爲「{」tag「:」value「}」的文檔,「我希望將它保存爲」值「,然後再轉換回來。在rapidjson,編碼只是一個數字字符串然後解碼它

我有下面的代碼數字轉換爲「數字」:

Value v(123); 
StringBuffer mybuffer; 
Writer<StringBuffer> mywriter(mybuffer); 
v.Accept(mywriter); 
const char* myjson = mybuffer.GetString(); 

如何將其轉換回?下面是一個解決方案?我不想使用處理程序!

Reader reader;   
StringStream ss(myjson); 
reader.Parse(ss, handler); 

感謝您的即將到來的幫助。

回答

2

我只是找到了答案挖掘到谷歌後:

到編碼許多使用rapidjson到JSON:

Value v(123.321); 
StringBuffer mybuffer; 
Writer<StringBuffer> mywriter(mybuffer); 
v.Accept(mywriter); 
const char* myjson = mybuffer.GetString(); 

現在myjson有 「123.321」 作爲它的值。 然後myjson解碼爲一個數字:

Document d; 
d.Parse(myjson); // myjson is "123.321" 
assert(d.IsNumber()); 
value = d.GetDouble(); // now the value is 123.321 

,因爲它得到簡單。