『壹』 .net 獲取json的數據有為null的,然後就報錯,怎麼判斷他是否為null
可以重新賦值。 如果json={"SSGM":null} JSONObject jsonObj = new JSONObject(json); String SSGM = jsonObj.get("SSGM");//獲取JSON中SSGM的值便於判內斷 if(null == SSGM) { jsonObj .put("SSGM","")//如果為容null那麼將SSGM的值賦值為"" } 不知
『貳』 asp.net mvc中怎麼樣解析 json
public static DataTable JsonToDataTable(string strJson)
{
//取出表名
Regex rg = new Regex(@"(?<={)[^:]+(?=:\[)", RegexOptions.IgnoreCase);
string strName = rg.Match(strJson).Value;
DataTable tb = null;
//去除表名
strJson = strJson.Substring(strJson.IndexOf("[") + 1);
strJson = strJson.Substring(0, strJson.IndexOf("]"));
//獲取數據
rg = new Regex(@"(?<={)[^}]+(?=})");
MatchCollection mc = rg.Matches(strJson);
for (int i = 0; i < mc.Count; i++)
{
string strRow = mc[i].Value;
string[] strRows = strRow.Split(',');
//創建表
if (tb == null)
{
tb = new DataTable();
tb.TableName = strName;
foreach (string str in strRows)
{
DataColumn dc = new DataColumn();
string[] strCell = str.Split(':');
dc.ColumnName = strCell[0].ToString();
tb.Columns.Add(dc);
}
tb.AcceptChanges();
}
//增加內容
DataRow dr = tb.NewRow();
for (int r = 0; r < strRows.Length; r++)
{
dr[r] = strRows[r].Split(':')[1].Trim().Replace(",", ",").Replace(":", ":").Replace("\"", "");
}
tb.Rows.Add(dr);
tb.AcceptChanges();
}
return tb;
}
用法:
htmlBody 的例子:
{"Mobile":"15655959999","QueryResult":"True","Province":"安徽","City":"黃山","AreaCode":"0559","PostCode":"245000","Corp":"中國聯通","Card":"GSM"}
string json = "{table:" + htmlBody + "}";
DataTable dt = Common.JsonExtensions.JsonToDataTable(json);
datdatable的數據會取了吧!