動態Json字串的解析

2022-04-13 05:56:14 字數 2195 閱讀 1386

datacontractjsonserializer ser = new datacontractjsonserializer(typeof(t));

memorystream ms = newmemorystream(encoding.utf8.getbytes(jsonstring));

t obj = (t)ser.readobject(ms);

但是有時候會出現動態的json字串,例如:

,

"formdata":

},},

}]}

需要引用第三方類庫

取workorderid值
var jsonobject = jsonconvert.deserializeobject(strjson);

console.writeline(jsonobject["workorderid"]);

判斷節點中是否存在某個元素
jobject jo = jobject.parse(strjson);

if (jo.properties().any(p => p.name == "workorderid"))

console.writeline("true");

採用jproperty來獲取
ienumerableproperties = jo.properties();

foreach (jproperty item in properties)

}

取modifyuserid值
var node = jo["workorderdata"]["modifyuserid"];

console.writeline(node.tostring());

//或者

var childss = jo["workorderdata"] as jobject;

foreach (var prip in childss.properties())

//或者

var childs = jo["workorderdata"].children();

ienumerator enumerator = childs.getenumerator();

while (enumerator.movenext())

}

foreach (var item in arra)

//或者

foreach (var log in nodes)

//或者

foreach (var log in nodes)

取formdata下的dbtypes_text的值

var data = (jo["formdata"] as jobject).getvalue("data");

var result = ((jobject)data)["dbtypes_text"];

foreach (var item in jarray.parse(result.tostring()))// (jarray)result

//或者

var values = result.children().values();

foreach (var obj in values)

console.read();

遞迴呼叫獲取節點的方法
private string getjsonvalue(jtoken jtoken, string key)

}if (string.isnullorwhitespace(value) && jtoken is jproperty)}}

else

return value;

}private string getjsonvalue(jenumerablejtoken, string key)

}if (string.isnullorwhitespace(value) && jc is jproperty)

}if (((jproperty)jc).name == key && string.isnullorwhitespace(value))}}

if (!string.isnullorwhitespace(value))

break;

}return value;

}

JSON字串解析

一 json物件 js可以按以下方式定義物件 varobj 這樣就定義了物件 obj,它有兩個公共屬性id和name,可以用 obj.id 的方式直接訪問其屬性值。從伺服器獲取資料時往往不止乙個物件,這就需要用到物件陣列,js中物件陣列可以用 來定義,如下 varobjs alert objs 0 ...

json字串解析

有時儲存在資料庫的資料是一串json字串,需要進行讀取的時候就需要解析操作。簡單介紹兩種 1 net.sf.json.2 com.alibaba.fastjson.第一種使用方式 import net.sf.json.jsonarray import net.sf.json.jsonexceptio...

JSON字串解析

有時儲存在資料庫的資料是一串json字串,需要進行讀取的時候就需要解析操作。簡單介紹兩種 1 net.sf.json.2 com.alibaba.fastjson.第一種使用方式 import net.sf.json.jsonarray import net.sf.json.jsonexceptio...