2012-06-14 18 views
1

我開發Firefox擴展,我需要進行使用目前在Javascript對象的形式呈現結構化數據的一些高速計算。 爲了實現這一點,我打算編寫使用js-ctypes調用的C庫。 有什麼辦法可以使用JS-ctypes將Javascript對象傳遞給本地庫嗎? 數據示例:傳遞結構化數據到本地代碼使用JS-ctypes的

{vendors: 
{Oracle: {products: 
{Exadata: {spec1: 111, spec2: 222}, Exalogic: 
{spec1: 111, spec2: 222}}}, IBM: {products: {WebSphere: {spec1: 111, spec2:222}}} 
}} 

在此先感謝。

回答

2

只能通過在C中是有效的類型而由於C沒有字典類型的概念或類似的,你不能傳遞那些C代碼。所以你基本上有兩種選擇:

  1. 您使用​​把這個對象轉換爲字符串。然後你必須找到一些可以解析JSON的C庫,並允許你以某種方式使用它。
  2. 你你的JavaScript數據轉換爲類型C能直接理解。例如,可以在一個Vendor structures傳遞array用含有一個指向Product結構的陣列的每個Vendor結構。當然,你的代碼將需要知道數組的大小 - 這將成爲前者數組的函數參數,用於後者的Vendor結構域。
+0

千恩萬謝,弗拉基米爾!那麼我會繼續我的C學習。 –

相關問題