自定義實現Json字串向C 物件的轉變

2021-12-30 01:52:13 字數 1494 閱讀 7109

這裡使用atrribute的方式實現了json字串向c#物件的轉變。因為功能侷限,此版本只是針對於json字串,如"response":"hello","id":21231513,"result":100,"msg":"ok."; 而不是json陣列。這裡的atrribute是作用在屬性上,像nhibernate中的atrribute一樣,是在執行時通過反射來獲取這個屬性對應於json字串中的哪個key.

[csharp]  

namespace jsonmapper  

set  

}  }  

}  接下來是這個轉換工具中的核心**,主要是分解並且分析json字串中key與value, 並且通過反射獲得物件中的各個對應屬性並且賦值。

[csharp] 

namespace jsonmapper  

propertyinfo properties = typeof(t).getproperties(bindingflags.public | bindingflags.instance);  

t entity = new t();  

foreach (propertyinfo property in properties)  

}  }  

}  }  

return entity;  

}  private string filter(string str)  

else   

}  public object totype(type type, string value)  

methodinfo parsemethod = null;  

foreach (methodinfo mi in type.getmethods(bindingflags.static   

| bindingflags.public))  

}  if (parsemethod == null)  

has not parse static method!", type));  

}  return parsemethod.invoke(null, new object );  

}  }  

}   

最後這是用於測試的**

[csharp]  

public class message  

[jsonfield(name = "result")]  

public int result  

[jsonfield(name = "response")]  

public string response  

[jsonfield(name = "id")]  

public int id  

[jsonfield(name = "msg")]  

public string msg  

}  www.2cto.com

[csharp]  

class program  

}    

json字串轉換java自定義物件

原 2018年07月12日 10 20 38 天空海的眼 2018 12 26 閒著重新看到了這篇就來補充net.sf.json主要是pom匯入jar包有乙個衝突的問題而且匯入的比較亂,所以也可以用別的json工具模擬如阿里的fastjson com.alibaba fastjson 1.2.41 ...

自定義字串匹配函式 C實現

在c c 庫函式中,有字串匹配函式strstr,其介面函式為 char strstr char str1,char str2 現自定義乙個字串匹配函式,在字串str1中找字串str2第一次出現的位置 如果有匹配的,輸出字串,否則返回null。c define crt secure no warnin...

C 自定義字串類

ifndef header h define header h define defaultsize 128 include include includeusing namespace std class mystring circle while this ch i pat.ch 0 icurl...