2012-08-13 74 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