1. 程式人生 > >通過方法把String型別的字串轉換成bean

通過方法把String型別的字串轉換成bean

使用情況是從頁面getset獲取下拉框的value值 由於圖方便 value值裡放的是物件

<td>硬碟:<select name="type_hdd" id="HDD" class="comtt">
<s:iterator value="hdd" var="item">
<option value="${item }">${item.component_name }</option>
</s:iterator>


</select>
</td>

所以,獲取到的是如下的實體類的字串,但是字串無法轉換成bean,中間想過用java的-conversion.properties來轉型,但是可能字串過長,獲取出錯,所以用類來轉化

String s="component [component_id=1, component_name=無敵X, capacity=, price=1200]";

public component stringtobean(String str) {
String c=str.substring(str.indexOf("["), str.lastIndexOf("]")+1);
c=c.replace("[", "{\"");
c=c.replace("]", "\"}");
c=c.replace("=", "\":\"");
c=c.replace(",", "\",\"");
JSONObject jsonObject=JSONObject.fromObject(c);
component strbean=(component)JSONObject.toBean(jsonObject, component.class);

return strbean;
}

通過字串擷取,轉換成json字串

然後通過json字串的方法完成轉化

需要的jar包關於json的commons-beanutils-1.8.0.jar;commons-collections-3.2.1.jar;commons-lang-2.5.jar;commons-logging-1.1.1.jar;ezmorph-1.0.6.jar;json-lib-2.3.jar;struts2-json-plugin-2.3.32.jar;json-lib-2.4-jdk15.jar;