我想解析一个json文件,然后对其进行操作以将数据插入SQL Server 2008数据库。解析大json
例子:
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”节点在数据库中插入一个新的项目
EDIT2:
这是我做了什么。
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是/ sources/prgs /)
你的问题是什么? –
对不起。我编辑了这个问题。 – Kosmog