我正在尝试解析一个 json 文件,然后对其进行操作以将数据插入 SQL Server 2008 数据库。
例子:
var sr = new StreamReader("C:\\path to file\file.json");
var json = JsonSerializer.SerializeToString(sr);
var o = JsonObject.Parse(json);
但我总是在第二行收到此错误 - “此流不支持超时。”
Json 文件如下所示:
"main":{
"prg": [
{
"Id": 1,
"name": "A&E",
more fields
}
"prg": [
{
"Id": 2,
"name": "asda",
more fields
}
}
我需要做这样的事情
foreach (prg in main)
entity.id = prg.id
entity.name = prg.name
我该怎么做?为什么会出现超时异常?
编辑:为了更好地理解我的问题,这就是我对 XML 文件的处理方式
XmlDocument sourceDoc = new XmlDocument();
sourceDoc.Load(SourcesElement2); // where SourcesElement2 is the path to my XML
XmlNodeList prg = sourceDoc.GetElementsByTagName("prg");
foreach (XmlNode item in prg)
{
entity.Name= item.SelectSingleNode("name").InnerText;
...
}
我已将 XML 转换为 Json,我想做同样的事情。对于 Json 文件中的每个“prg”节点,在数据库中插入一个新项目
编辑2:
这就是我所做的。
using (
StreamReader stream =
File.OpenText(
"C:\\path\\Sources.json")
)
{
JObject sources = (JObject) JToken.ReadFrom(new JsonTextReader(stream));
var a = sources["on"];
var b = a["sources"];
var c = b["prgs"];
foreach (var item in c)
{
var d= item.SelectToken("prg");
// Here d is null
}
我和楼上的那个有同样的问题。对于 Json 文件中的每个“prg”节点,在数据库中插入一个新项目。我怎样才能做到这一点 ?( prg 的路径是 on/sources/prgs/ )