天天看點

使用LitJSON.dll處理json格式的資料示例

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using LitJson;

namespace WebApplication1

{

   public partial class WebForm2 : System.Web.UI.Page

   {

       //可到 http://sourceforge.net/projects/litjson/?source=dlp  下載下傳

       protected void Page_Load(object sender, EventArgs e)

       {

           String str = "{'name':'j1','id':1,'items':[{'itemid':1001,'itemname':'it1'},{'itemid':1002,'itemname':'it2'}]}";

           //*** 讀取JSON字元串中的資料 *******************************            

           JsonData jd = JsonMapper.ToObject(str);

           String name = (String)jd["name"];

           int id = (int)(jd["id"]);

           Response.Write(string.Format("name:{0},id:{1}<br/>",name,id));

           JsonData jdItems = jd["items"];

           Response.Write(string.Format("items:<br/>"));

           int itemCnt = jdItems.Count;

           // 數組 items 中項的數量

           foreach (JsonData item in jdItems)

           // 周遊數組 items            

           {

               int itemID = (int)item["itemid"];

               String itemName = (String)item["itemname"];

               Response.Write(string.Format("itemid:{0},itemname:{1}<br/>", itemID, itemName));

           }

           ps ps1 = new ps();

           ps1.name = "ps_name1";

           ps1.height = 168;

           string json_ps1 = JsonMapper.ToJson(ps1);

           Response.Write(json_ps1+"<br/>");

           ps ps2 = JsonMapper.ToObject<ps>(json_ps1);

           Response.Write(string.Format("ps2_name:{0}<br/>ps2_height:{1}<br/>",ps2.name,ps2.height));

       }

   }

   public class ps

       public string name { get; set; }

       public int height { get; set; }

}