本文目录一览:
- 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();
}