本文目錄一覽:
- 1、java中json轉換的問題
- 2、用java怎麼把一個json字符串轉換成一個treegrid_data.json字符串,就是變成那種帶children的
- 3、java中把json怎麼轉換成數組?
- 4、怎麼把Json字符串轉換成DataRow
java中json轉換的問題
import net.sf.json.JSONObject;導這個Jar包
示例代碼:
String str = “{\”a\”: \”1\”, \”data\”: { \”u\”: \”hhg2\”, \”p\”: \”123456\”}}”;
JSONObject jsObj = JSONObject.fromString(str);
String dataStr = jsObj.getString(“data”);//取得data的json字符串值。
用java怎麼把一個json字符串轉換成一個treegrid_data.json字符串,就是變成那種帶children的
如果是List套List的話,寫個List to jsonarr遞歸一下就可以吧
如果是hibernate jsonlib有個config配置一下就OK
JsonConfig jsonConfig = new JsonConfig();
jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT);
jsonConfig.setExcludes(new String[] { “handler”,
“hibernateLazyInitializer” });
jsonConfig.registerJsonValueProcessor(java.util.Date.class,
new JsonDateValueProcessor(“yyyy-MM-dd”));
JSONObject jsonObject = JSONObject.fromObject(map, jsonConfig);
out.println(dealString4JSON(jsonObject.toString()));
java中把json怎麼轉換成數組?
使用原生的解析:
String json = “…”;
//遍曆數組裡的值,得到每個獨立的對象,然後獲取對應的值設置到聲明好的對象中,最終創建對象完成後添加到集合中,如我自己代碼里的片段:
for (int j = 0; j array.length(); j++) {
obj = array.getJSONObject(j);
Data data = new Data();
mDataList.add(data);
}
數組聲明
在數組的聲明格式里,“數據類型”是聲明數組元素的數據類型,可以是java語言中任意的數據類型,包括簡單類型和結構類型。“數組名”是用來統一這些相同數據類型的名稱,其命名規則和變量的命名規則相同。
數組聲明之後,接下來便是要分配數組所需要的內存,這時必須用運算符new,其中“個數”是告訴編譯器,所聲明的數組要存放多少個元素,所以new運算符是通知編譯器根據括號里的個數,在內存中分配一塊空間供該數組使用。利用new運算符為數組元素分配內存空間的方式稱為動態分配方式。
以上內容參考:百度百科-數組
怎麼把Json字符串轉換成DataRow
可以考慮把dataset或則datatable轉成json,如把 datatable的數據轉成json:
/// summary
/// Datatable轉換為Json
/// /summary
/// param name=”table”Datatable對象/param
/// returnsJson字符串/returns
public static string ToJson(DataTable dt)
{
StringBuilder jsonString = new StringBuilder();
if (dt.Rows.Count == 0)
{
jsonString.Append(“[{}]”);
return jsonString.ToString();
}
jsonString.Append(“[“);
DataRowCollection drc = dt.Rows;
for (int i = 0; i drc.Count; i++)
{
jsonString.Append(“{“);
for (int j = 0; j dt.Columns.Count; j++)
{
string strKey = dt.Columns[j].ColumnName;
string strValue = drc[i][j].ToString();
Type type = dt.Columns[j].DataType;
jsonString.Append(“\”” + strKey + “\”:”);
strValue = StringFormat(strValue, type);
if (j dt.Columns.Count – 1)
{
jsonString.Append(strValue + “,”);
}
else
{
jsonString.Append(strValue);
}
}
jsonString.Append(“},”);
}
jsonString.Remove(jsonString.Length – 1, 1);
jsonString.Append(“]”);
return jsonString.ToString();
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/309976.html