获取 json 文件的最后一个元素
get the last element of a json file
使用工作代码编辑 30/06/2020。谢谢大家!
您好,我想在我的解决方案中获取 json 文件的最后一个元素。
实际上我的网络服务发送了所有 json 文件:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Data;
using Newtonsoft.Json;
using System.Text;
using System.IO;
using Newtonsoft.Json.Linq;
namespace getLastVersionNumber
{
/// <summary>
/// Description résumée de WebService1
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// Pour autoriser l'appel de ce service Web depuis un script à l'aide d'ASP.NET AJAX, supprimez les marques de commentaire de la ligne suivante.
// [System.Web.Script.Services.ScriptService]
public class WebService1 : System.Web.Services.WebService
{
[WebMethod]
public string IDVersion()
{
//JSON path
String json = File.ReadAllText(@"C:\Users\sejjilali\source\repos\WebserviceProdware\getLastVersionNumber\idVersions.json");
//Parsing, get last one and convert it to a string
var lastVersion = JArray.Parse(json).Last().ToString();
return lastVersion;
}
}
}
这是我的文件样本:
[
{
“编号”:1,
“版本”:0.1
},
{
“编号”:2,
“版本”:0.5
},
{
“编号”:3,
“版本”:0.8
}
]
我只想得到最后一个 { "id": 3, "version": 0.8 }
感谢帮助
首先这样定义class
public class Data{
public int id{get;set;}
public double version{get;set;}
}
之后你可以像这样得到最后一个值
List<Data> myDatas=JsonConvert.DeserializeObject<List<Account>>(stringfromwebservice);
Data myData=myDatas.Last();
用法:
var stringfromwebservice="from web server data";
List<webservice> webserviceList=JsonConvert.DeserializeObject<List<webservice>>(stringfromwebservice);
webservice DataModel = webserviceList[webserviceList.Count];
数据模型
public class webservice
{
int id { get; set; }
double version { get; set; }
}
您可以尝试使用以下代码获取 json 文件的最后一个元素。
string path = "D:\1.json";
string text = File.ReadAllText(path);
JToken test = JArray.Parse(text).Last();
Console.WriteLine(test);
结果:
使用工作代码编辑 30/06/2020。谢谢大家!
您好,我想在我的解决方案中获取 json 文件的最后一个元素。 实际上我的网络服务发送了所有 json 文件:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Data;
using Newtonsoft.Json;
using System.Text;
using System.IO;
using Newtonsoft.Json.Linq;
namespace getLastVersionNumber
{
/// <summary>
/// Description résumée de WebService1
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// Pour autoriser l'appel de ce service Web depuis un script à l'aide d'ASP.NET AJAX, supprimez les marques de commentaire de la ligne suivante.
// [System.Web.Script.Services.ScriptService]
public class WebService1 : System.Web.Services.WebService
{
[WebMethod]
public string IDVersion()
{
//JSON path
String json = File.ReadAllText(@"C:\Users\sejjilali\source\repos\WebserviceProdware\getLastVersionNumber\idVersions.json");
//Parsing, get last one and convert it to a string
var lastVersion = JArray.Parse(json).Last().ToString();
return lastVersion;
}
}
}
这是我的文件样本:
[ { “编号”:1, “版本”:0.1 }, { “编号”:2, “版本”:0.5 }, { “编号”:3, “版本”:0.8 } ]
我只想得到最后一个 { "id": 3, "version": 0.8 }
感谢帮助
首先这样定义class
public class Data{
public int id{get;set;}
public double version{get;set;}
}
之后你可以像这样得到最后一个值
List<Data> myDatas=JsonConvert.DeserializeObject<List<Account>>(stringfromwebservice);
Data myData=myDatas.Last();
用法:
var stringfromwebservice="from web server data";
List<webservice> webserviceList=JsonConvert.DeserializeObject<List<webservice>>(stringfromwebservice);
webservice DataModel = webserviceList[webserviceList.Count];
数据模型
public class webservice
{
int id { get; set; }
double version { get; set; }
}
您可以尝试使用以下代码获取 json 文件的最后一个元素。
string path = "D:\1.json";
string text = File.ReadAllText(path);
JToken test = JArray.Parse(text).Last();
Console.WriteLine(test);
结果: