日期:2014-05-17  浏览次数:20480 次

如何利用Newtonsoft.Json 读取json数据
网上搜索到的都是下面的方法

string jsonText = "['JSON!',1,true,{property:'value'}]";

JsonReader reader = new JsonReader(new StringReader(jsonText));

Console.WriteLine("TokenType\t\tValueType\t\tValue");

while (reader.Read())
{
      Console.WriteLine(reader.TokenType + "\t\t" + WriteValue(reader.ValueType) + "\t\t" + WriteValue(reader.Value))
}

但提示 无法创建抽象类或接口“Newtonsoft.Json.JsonReader”的实例,
我使用的是DotNet20的 Newtonsoft.Json.Net20.dll

------解决方案--------------------
List<Model.AA> AA= (from l in WebUI.NoSqlListObject.CacheDependencyObject.lsAA select l).ToList();
                HttpContext.Current.Response.Write(JsonConvert.SerializeObject(AA));

查出来数据输出,页面上接收  $("#字段ID").val(data.Json里的属性字段);
------解决方案--------------------
JsonConvert.SerializeObject()这个方法就是Newtonsoft.Json的。
------解决方案--------------------

using Newtonsoft.Json.Linq;

JObject jo = JObject.Parse("{\"xx\":12}");

var str=jo.ToString();

------解决方案--------------------
 public string dt2json(DataTable dt)
    {
        JsonWriter writer = new IndentedJsonWriter();
        JsonObject objJson = new JsonObject();
        JsonArray arrs = new JsonArray();
        JsonObject arrItem;

        for (int i = 0; i < dt.Rows.Count; i++)
        {
            arrItem = new JsonObject();
            for (int j = 0; j < dt.Columns.Count; j++)
            {
                arrItem.Add(dt.Columns[j].ColumnName, dt.Rows[i][j].ToString());
            }
            arrs.Add(arrItem);
        }
        objJson.Add(dt.TableName, arrs);
        objJson.Write(writer);      

        return writer.ToString();
    }
------解决方案--------------------
引用Newtonsoft.Json.dll

------解决方案--------------------

//木有遇到这个问题!
public void ProcessRequest (HttpContext context) {
        context.Response.ContentType = "text/plain";
        string[] name = { "zhangsan", "lisi", "wangwu" };