2013-03-28 24 views
1

如何評估下列字符串爲多個對象?目前它只是做第一個然後忽略其餘的,忽略PHP,這是通過PHP生成的,這是我需要評估它的原因,以便我可以使用它作爲jQuery插件的選項。在多個對象的字符串上使用eval

  { 
       latLng:['.$result->lat.','.$result->lon.'], 
       options: 
       { 
        shadow: 
        { 

         url: "'.BASE_URL.'css/png/markerBg.png", 
         scaledSize: 
         { 
          width:40, 
          height:43.5 
         } 
        }, 
        icon: 
        { 
         url: "'.$result->user->profileImage.'", 
         scaledSize: 
         { 
          width:32, 
          height:32 
         }, 
         anchor: 
         { 
          x: 16, 
          y: 40 
         } 

        } 

       } 

       }, 
      { 
       latLng:['.$result->lat.','.$result->lon.'], 
       options: 
       { 
        shadow: 
        { 

         url: "'.BASE_URL.'css/png/markerBg.png", 
         scaledSize: 
         { 
          width:40, 
          height:43.5 
         } 
        }, 
        icon: 
        { 
         url: "'.$result->user->profileImage.'", 
         scaledSize: 
         { 
          width:32, 
          height:32 
         }, 
         anchor: 
         { 
          x: 16, 
          y: 40 
         } 

        } 

       } 

       }, 
      { 
       latLng:['.$result->lat.','.$result->lon.'], 
       options: 
       { 
        shadow: 
        { 

         url: "'.BASE_URL.'css/png/markerBg.png", 
         scaledSize: 
         { 
          width:40, 
          height:43.5 
         } 
        }, 
        icon: 
        { 
         url: "'.$result->user->profileImage.'", 
         scaledSize: 
         { 
          width:32, 
          height:32 
         }, 
         anchor: 
         { 
          x: 16, 
          y: 40 
         } 

        } 

       } 

       } 
+1

你可以嘗試把字符串放在[]中,那麼結果應該是一個對象數組 – david

+0

如果你必須使用Eval,那麼你知道你有麻煩了。 –

回答

3

我會避免做eval - JSON.parse()是一個更安全。由於它看起來像對象已經逗號分隔,所以你應該能夠將它變成一個數組並解析它。例如,

var objectArray = JSON.parse('[' + objectString + ']'); 

其中objectString具有上面粘貼的值。 objectArray現在將成爲一個數組,其中包含您的每個對象。

+0

是的,它會和我嘗試使用JSON.parse()第一,但是,我不斷收到以下錯誤:SyntaxError:JSON解析錯誤:預期的'}',並試圖解決它,但沒有什麼.... –

+0

嗯..第二個想法是,這不是真正有效的JSON,只是用逗號分隔的對象文字。你有沒有對PHP代碼的控制權?這種格式根本不符合瀏覽器的要求。 – jmar777

+0

該格式是需要的,因爲這是jQuery插件所需的格式....這不是PHP這是Javascript。 –

0

難道使用JSON.parse更容易嗎?

相關問題