c 解析json字串處理

2022-06-23 09:51:11 字數 2158 閱讀 5535

**自:

為了防止帖子丟失所以我又複製了一下

需求:假設有如下json字串:,],

"manager": [,]

}請利用c#處理這個字串,在控制台顯示出公司的id,第一位員工的姓,和所有管理者的工資。

解決步驟:

(為了更清晰的說明,本例在控制台中測試,本人程式設計環境vs2015)

2、在vs中新建專案——控制台應用程式。

4、在主程式program.cs的開頭新增 using newtonsoft.json;  這一語句。

5、把要處理的json字串複製到   得到c#類,如圖所示:

把這部分內容複製,貼上到class program類的下方。

將我剛才給的東西複製進去點選「壓縮並轉義」,得到的值可以直接賦值給乙個string變數,如圖:

ps:如果能從別的地方比如webapi得到json字串那更好,直接賦值給乙個string變數後進行下面的操作,省去了轉義這一步。

string jsontext = " ,],\"manager\":[,]} ";

7、反序列化json字串得到物件。

rootobject rb = jsonconvert.deserializeobject(jsontext);

8、處理物件,如輸出公司id:

console.writeline(rb.companyid);

完整**如下(引用newtonsoft.json.dll後可直接執行):

using newtonsoft.json;

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace consolejsontest

,],\"manager\":[,]} ";

console.writeline(jsontext);

rootobject rb = jsonconvert.deserializeobject(jsontext);

console.writeline(rb.companyid);

console.writeline(rb.employees[0].firstname);

foreach (manager ep in rb.manager)

console.readkey();}}

public class employees

public string lastname

}public class manager

public string age

}public class rootobject

public listemployees

public listmanager }}

輸出結果:

foreach (manager ep in rb.manager)

看到有的人問如何把物件轉換成json,我這邊就補充一下吧,其實同樣也是用這個庫自帶的方法,**如下:

(直接加在console.readkey()上面就可以執行了)

employees e1 = new employees();

e1.firstname = "ma";

e1.lastname = "yun";

manager m1 = new manager();

m1.salary = "6666";

m1.age = "30";

rootobject robj = new rootobject();

robj.employees = new list();

robj.manager = new list();

robj.companyid = "ali baba";

robj.employees.add(e1);

robj.manager.add(m1);

string str = jsonconvert.serializeobject(robj);

console.writeline(str);

就是呼叫庫裡面的serializeobject方法,傳入賦值好的物件就好了

最後程式輸出json字串:

],"manager":}

c 解析json字串處理

完整 在文末,引用庫檔案後可直接執行 需求 假設有如下json字串 manager 請利用c 處理這個字串,在控制台顯示出公司的id,第一位員工的姓,和所有管理者的工資。解決步驟 為了更清晰的說明,本例在控制台中測試,本人程式設計環境vs2015 2 在vs中新建專案 控制台應用程式。4 在主程式p...

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...