這裡使用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...