就用控制台举例,json包含 “键”和“值” 如 “student”:“WUZI”
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
引用一波
这里就直接引用了 string json = “一大串json格式的数据”
大伙可自己创建json 自己调试
{"TastId":"1 ","TaskName":"装备强化1次","ActiveValue":"50 ","TotalNumberCompleted":"1 ","AlreadyNumberCompleted":"1 ","TaskLink":"link","IsGetRewards":"0"}
思路:
如果要取出所有的json 值 遍历必不可少 再加上 JProperty 和 JToken
foreach (JProperty jp in JProperty )
实现
好 操作步骤
1
拿到string类型的json值
如:
string json = “{"TastId":"1 ","TaskName":"装备强化1次","ActiveValue":"50 ","TotalNumberCompleted":"1 ","AlreadyNumberCompleted":"1 ","TaskLink":"link","IsGetRewards":"0"}”
1.1:IQueryable转string (与正文无关请去看2)
var ss = DBContext.EupTaskTable.Where(p => p.PlayerId == "test@qq.com").Select(p=>new {p.TastId,p.TaskName,p.ActiveValue,p.TotalNumberCompleted,p.AlreadyNumberCompleted,p.TaskLink,p.IsGetRewards});
foreach (var m in ss)
{
string json = Newtonsoft.Json.JsonConvert.SerializeObject(m);
}
2
string转JObject
//类
JObject myJObject = (JObject)JsonConvert.DeserializeObject(json);
3
JObject转.JToken
JToken record = obj;
foreach (JProperty jp in record)
{
Console.WriteLine(jp.Value);
//jp.Name is Key jp.Value is Value
}
示例
string json = "{\"TastId\":\"1 \",\"TaskName\":\"装备强化1次\",\"ActiveValue\":\"50 \",\"TotalNumberCompleted\":\"1 \",\"AlreadyNumberCompleted\":\"1 \",\"TaskLink\":\"link\",\"IsGetRewards\":\"0\"}";
JObject myJObject = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(json);
JObject obj = myJObject;//obj
JToken record = obj;
foreach (JProperty jp in record)
{
Console.WriteLine(jp.Value);
}
作者自用:
public static void GetDB()
{
JObject JSON = new JObject();
var ss = DBContext.EupTaskTable.Where(p => p.PlayerId == "test@qq.com").Select(p=>new {p.TastId,p.TaskName,p.ActiveValue,p.TotalNumberCompleted,p.AlreadyNumberCompleted,p.TaskLink,p.IsGetRewards});
string json = null;
foreach (var m in ss)
{
json = Newtonsoft.Json.JsonConvert.SerializeObject(m);
JObject myJObject = (JObject)JsonConvert.DeserializeObject(json);
JObject obj = myJObject;//obj
JToken record = obj;
foreach (JProperty jp in record)
{
Console.WriteLine(jp.Value);
}
}
// JSON.Add(new JValue(json));
//foreach (JProperty jProperty in JSON.Properties())
//{
// Console.WriteLine("key:" + jProperty.Name + " value:" + jProperty.Value);
//}
Console.ReadKey();
}