我通过一个REST服务返回了一个JSON对象,其结构如下:{
"results" : [ 

"layerId" : <layerId1>, 
"layerName" : "<layerName1>", 
 "value" : "<value1>", 
 "displayFieldName" : "<displayFieldName1>", 
"attributes" :
 {  
"<fieldName11>" : <fieldValue11>, 
 "<fieldName12>" : <fieldValue12> 
}, 
"geometryType" : "<geometryType1>",
 "geometry" : {<geometry1>} 
}, 

"layerId" : <layerId2>, 
"layerName" : "<layerName2>", 
"value" : "<value2>", 
 "displayFieldName" : "<displayFieldName1>", 
"attributes" : 
{  
"<fieldName21>" : <fieldValue21>, 
 "<fieldName22>" : <fieldValue22> }, 
"geometryType" : "<geometryType2>", 
"geometry" : {<geometry2>} 
}
]
}下面是一个返回的示例:
{
"results" : [ 

"layerId" : 3, 
"layerName" : "Cities", 
"value" : "Joe City", 
"displayFieldName" : "City Name", 
"attributes" : 
{   
///////这儿字段名每次返回都是不一样的,是不可预料的!
"City Name" : "Joe City",  
"CLASS" : "city",  
"ST" : "CA" 
}, 
"geometryType" : "esriGeometryPoint", 
"geometry" : 

"x" : -118.375, 
"y" : 34.086, 
"spatialReference" : {"wkid" : 4326} 

}, 

"layerId" : 59, 
"layerName" : "Parcel", 
"value" : "Parcel 649", 
"displayFieldName" : "NAME", 
"attributes" : 
{  
"NAME" : "Parcel 649",  
"SUB_REGION" : "Pacific",  
"STATE_ABBR" : "CA" 
}, 
"geometryType" : "esriGeometryPolygon", 
////////////////geometry对象可能返回的是point,polygon,polyline,已经将其定义为了三个不同的类!
"geometry" : 

"spatialReference" : {"wkid" : 4326}, "rings" : [[[-118.35,32.81],[-118.42.806],[-118.511,32.892],[-118.35,32.81]]]} 
}
]
}其中的attributes对象中的fieldname和fieldvalue每次返回都可能是不同的,想在C#中对这个对象进行正确的反序列化,需要怎样正确定义这个attributes类?
另外geometry对象,每次返回的类型也可能是不一样的,可能是point,polyline,polygon,应该怎么写才能正确定义这个方法呢?
这个问题困扰我好几天了```希望哪位高手指点一下!谢谢!