2012-08-13 124 views
1

我有下在我的DB項目此值:PHP MySQL代碼幫助解碼

一個:1:{I:0;一個:9:{S:12: 「MODEL_NUMBER」; S:10: 「TT1-W」; S:5: 「價格」; S:4: 「3810」; S:10: 「UNIT_PRICE」; d:3135.6300000000001091393642127513885498046875; S:8: 「id_price」; d:3810; S:9: 「sales_tax」; d:290.3700000000000045474735088646411895751953125; S:5: 「銷售」; d:3084.6300000000001091393642127513885498046875; S:7: 「服務」; S:2: 「51」; S:7: 「貨運」; S:3:「384 「; S:13:」 co_cat 「; S:3:」 X4" ;}}

使其更方便讀者:

a:1: 
    { 
    i:0; 
    a:9: 
     { 
     s:12:"model_number"; 
     s:10:"TT1-W"; 
     s:5:"price"; 
     s:4:"3810"; 
     s:10:"unit_price"; 
     d:3135.6300000000001091393642127513885498046875; 
     s:8:"id_price"; 
     d:3810; 
     s:9:"sales_tax"; 
     d:290.3700000000000045474735088646411895751953125; 
     s:5:"sales"; 
     d:3084.6300000000001091393642127513885498046875; 
     s:7:"service"; 
     s:2:"51"; 
     s:7:"freight"; 
     s:3:"384"; 
     s:13:"co_cat"; 
     s:3:"X4"; 
     } 
    } 

我無法找出如何解碼此字符串,因爲它似乎無法在顯示該頁面的php代碼中找到對其的引用。它看起來像我是JSON,但我似乎無法找到上述的「標準」格式,以便開始確定它的起始位置和結束位置。

我需要這個解碼使用ASP.net。但是,再次,我需要弄清楚在開始解碼之前它是什麼!

任何幫助,它會是偉大的!

+0

你試過'json_decode()'嗎? – Matt 2012-08-13 20:46:58

+0

@Matt這不是JSON,只是看起來很像。 – TheZ 2012-08-13 20:47:22

+0

等一下,你需要ASP.net或PHP的幫助嗎? – Matt 2012-08-13 20:47:39

回答

2

嘗試用反序列化: function.unserialize

編輯:如果你可以使用C#庫: How to unserialize PHP Serialized array/variable/class and return suitable object in C#

EDIT2: Visual Studio Tip: Three ways to use C# within a VB.NET project

EDIT3:

我需要搞清楚它是什麼

這是標準的PHP解決方案來存儲(和恢復)字符串中的數組和對象(以及其他類型,請參閱手冊)。

+0

任何方式在ASP.net反序列化? – StealthRT 2012-08-13 20:52:05

+0

我編輯了我的答案。 – 2012-08-13 20:54:10

+0

我正在使用VB.net:/ – StealthRT 2012-08-13 20:56:11

1

這似乎是PHP的序列化方法。你只需要使用PHP的unserialize()就可以了。

+0

任何方式在ASP.net反序列化? – StealthRT 2012-08-13 20:50:32

+0

可能有一些庫或代碼片段可用於在ASP.net中反序列化PHP,您只需要Google。我不用ASP工作,所以我不能給你任何建議。 – 2012-08-13 20:57:25

+0

好的,謝謝Mike的幫助! :o) – StealthRT 2012-08-13 21:01:05

1

這看起來是一個序列化的對象。 PHP的unserialize可能是你想要什麼:

unserialize()接受一個序列化的變量,並將其轉換回 到一個PHP值。

沒有內置的辦法把它們變成一個ASP.Net對象,但它是一個普通的格式,所以你可以建立自己的解析器來創建特定的屬性的簡單的字典表示結構體。

但是,如果您試圖在ASP.Net中對一個PHP對象進行反序列化,那麼您可能會做錯某些事情!

+0

我們正在將使用PHP編寫的舊CMS轉換爲asp.net,所以我們沒有真正的選擇。 :o) – StealthRT 2012-08-13 20:57:03

+0

娛樂時光!好的,看起來安東給你一些好的提示。 :) – Hamish 2012-08-13 21:04:32