C 如何操作JSON資料(讀取 分析)

2021-09-22 10:35:38 字數 2090 閱讀 1584

(1)使用jsonreader讀json字串:

string jsontext = @"";

jsonreader reader = new jsontextreader(new

stringreader(jsontext));

while

(reader.read())

(2)使用jsonwriter寫字串:

stringwriter sw = new

stringwriter();

jsonwriter writer = new

jsontextwriter(sw);

writer.writestartobject();

writer.writepropertyname(

"input");

writer.writevalue(

"value");

writer.writepropertyname(

"output");

writer.writevalue(

"result");

writer.writeendobject();

writer.flush();

string jsontext =sw.getstringbuilder().tostring();

console.writeline(jsontext);

(3)使用jobject讀寫字串:

jobject jo =jobject.parse(jsontext);

string values = jo.properties().select(item => item.value.tostring()).toarray();

(4)使用jsonserializer讀寫物件(基於jsonwriter與jsonreader): 

陣列型資料

string jsonarraytext1 = "[,]";

jarray ja = (jarray)jsonconvert.deserializeobject(jsonarraytext1);

string ja1a = ja[1]["a"].tostring();

//或者

jobject o = (jobject)ja[1];

string oa = o["a"].tostring();

巢狀格式

string jsontext = "}";

jobject jo = (jobject)jsonconvert.deserializeobject(jsontext);

string zone = jo["beijing"]["zone"].tostring();

string zone_en = jo["beijing"]["zone_en"].tostring();

自定義類project

project p = new project() ;

jsonserializer serializer = new jsonserializer();

stringwriter sw = new stringwriter();

serializer.serialize(new jsontextwriter(sw), p);

console.writeline(sw.getstringbuilder().tostring());

stringreader sr = new stringreader(@"");

project p1 = (project)serializer.deserialize(new jsontextreader(sr), typeof(project));

console.writeline(p1.input + "=>" + p1.output);

上面的**都是基於下面這個project類定義:

class project

public string output 

}

此外,如果上面的jsontextreader等類編譯不過的話,說明是我們自己修改過的類,換成你們自己的相關類就可以了,不影響使用。

json資料的讀取等操作

json在web開發的用處非常廣泛,作為資料傳遞的載體,如何解析json返回的資料是非常常用的。下面介紹下四種解析json的方式 part 1 varlist1 1,3,4 alert list1 1 varlist2 alert list2 0 xing alert list2 0 xing pa...

C 操作Json資料

json是現今各語言實現資料互動應用最廣泛的一種格式,在於xml的比較中,由於 json 所使用的字元要比 xml 少得多,可以大大得節約傳輸資料所占用得頻寬。本文採用的是newtonsoft.json外掛程式類庫提供的jsonconvert操作類實現 下面附上json操作類的原始碼 using s...

Ajax 讀取JSON基本操作)

因為xml的格式 和操作和josn來對比 還是麻煩了一些 而且josn的體積小 傳輸快 所以josn才是最受寵的那乙個 json只是一種資料格式 1 json 這是乙個js的物件 var obj 這是乙個物件也可以寫成 var obj 這是乙個物件json的物件 var obj json字串 var...