我目前正在與在下面的格式輸出JSON數據的web服務工作:如何搜索字符串的子字符串可以在使用PHP
{"ID":1291,"Name":"Houses of the Holy","Artist":"Led Zeppelin","Year":1973}
然而,從一個項目到下一個項目的順序不一致。例如:
{"ID":2958,"Label":"Reprise Records","Name":"Electric Ladyland","Year":1968}
當然不能寫的正則表達式依賴於屬性以均勻順序爲,由於爲了從一個項目到下一個而變化(儘管它們總是與ID開始)。
我會用」「,」作爲分隔符使用使preg_split,但偶爾會一個曲目,像這樣:
{"ID":9237,"Tracklist":[{"Track1":"Taxman","Track2":"Eleanor Rigby"}]}
...這將搞砸了
哪有。我使用正則表達式來搜索可能以任何順序出現的子串,或者根本不出現?或者我將不得不在Web服務返回的每個項目上運行多個正則表達式,每個可能的屬性都有一個?
這聽起來像你需要一個解析器。你不能使用內置的JSON解析器嗎? – nkr 2013-03-23 13:19:01
[json_decode](http://php.net/manual/en/function.json-decode.php)不適用於您? – 2013-03-23 13:20:59
我不認爲正則表達式可以做你需要的東西。在你的情況下使用語法分析器可能會有所幫助。 – 2013-03-23 13:22:01