2014-03-07 110 views
0

我正在執行ajax調用並返回json格式的數據。使用來自另一個json對象的值填充json對象中的值

var ColorName = json.features[r].attributes.ColorName; 

鉻示出的值是 「0,255,0,204」,其對應於R,G,B,A(A是透明性) http://cl.ly/image/362k1K083o3c/ColorName%20value.jpg

我想做的是採取ColorName並通過它到下面的對象:

var symbol = new SimpleMarkerSymbol({ 
    "color": [ColorName], 
    "size": 12, 
    "angle": -30, 
    "xoffset": 0, 
    "yoffset": 0, 
    "type": "esriSMS", 
    "style": "esriSMSCircle", 
    "outline": { 
    "color": [0,0,0,255], 
    "width": 1, 
    "type": "esriSLS", 
    "style": "esriSLSSolid" 
    } 
}); 

如果我硬編碼值到對象,它的工作原理,但不是當我通過它,因爲我已經如上圖所示。我假設它是一個語法問題,因爲其他所有工作都正常並且我沒有收到任何錯誤。

============更新=================

這裏是JSON格式的數據的一個片段如在可見火狐

 { 
     "recordsReturned":"213", 
     "status":"pass", 
     "msg":"213 record(s) found", 
     "geometryType" : "esriGeometryPoint", 
     "spatialReference" : { 
     "wkid" : 4326 
     }, 
     "features" : [ 

     { 
      "attributes" : { 
      "name" : "XYZ Medical Center", 
      "statusID" : "1", 
      "NamedColor":"0,255,0,204" 
      }, 
      "geometry" : { 
      "x" : -77.4954450, 
      "y" : 38.2170020 
      } 
     }, 
     { 
      "attributes" : { 
      "name" : "ABC Medical Center", 
      "statusID" : "1", 
      "NamedColor":"0,255,0,204" 
      }, 
      "geometry" : { 
      "x" : -76.3069444444, 
      "y" : 36.8447222222 
      } 
     }, 

這裏是遍歷返回的JSON對象的一個​​片段:

 if (json.status == 'pass'){ 
     for (var r = 0; r < json.recordsReturned;r=r+1){ 
       var ColorName = json.features[r].attributes.NamedColor; 
       ... 

我希望這有助於...

+0

告訴我們你是如何努力實現這一目標的。 「其他一切正常,沒有錯誤」是沒有用的,因爲它涉及我們看不到的代碼。 – Jon

+0

馬上行動起來... – HPWD

+0

您確定這個值已經設定好了嗎?你說的是ajax調用,你確定你正在設置ajax回調的值嗎? –

回答

0

非常微妙的各色NCE但是當我改變了它這樣的:

var symbol = new SimpleMarkerSymbol({ 
     **"color": ColorName,** 
     "size": 12, 
     "angle": -30, 
     "xoffset": 0, 
     "yoffset": 0, 
     "type": "esriSMS", 
     "style": "esriSMSCircle", 
     "outline": { 
     "color": [0,0,0,255], 
     "width": 1, 
     "type": "esriSLS", 
     "style": "esriSLSSolid" 
     } 
}); 

,然後改變後,

"attributes" : { 
     "name" : "XYZ Medical Center", 
     "statusID" : "1", 
     **"NamedColor":"[0,255,0,204]"** 
    }, 

它的所有工作。回顧一下,我想JavaScript/jQuery將[]看作是一個合理的對象。