dynamic是C#里面的動態(tài)類型,可在未知類型的情況訪問對應(yīng)的屬性,非常靈活和方便。
創(chuàng)新互聯(lián)公司是一家專業(yè)提供城關(guān)企業(yè)網(wǎng)站建設(shè),專注與成都做網(wǎng)站、成都網(wǎng)站制作、H5開發(fā)、小程序制作等業(yè)務(wù)。10年已為城關(guān)眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進行中。使用Json.Net可以把一個Json字符串轉(zhuǎn)換成一個JObject對象,如果有已知強類型,如果有已知對應(yīng)的強類型,可以直接轉(zhuǎn)成對應(yīng)的類型。但如果沒有,要訪問Json里面對應(yīng)的數(shù)據(jù)的時候,就顯得比較麻煩。我們可以借助DynamicObject來訪問對應(yīng)的屬性。
DynamicObject
我們要創(chuàng)建一個動態(tài)類,用于訪問JObject,代碼如下:
public class JObjectAccessor : DynamicObject { JToken obj; public JObjectAccessor(JToken obj) { this.obj = obj; } public override bool TryGetMember(GetMemberBinder binder, out object result) { result = null; if (obj == null) return false; var val = obj[binder.Name]; if (val == null) return false; result = Populate(val); return true; } private object Populate(JToken token) { var jval = token as JValue; if (jval != null) { return jval.Value; } else if (token.Type == JTokenType.Array) { var objectAccessors = new List
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。