[
{
"name": "ATVI",
"dailyClosePrice": [
{
"3/15/2017": 210.08,
"4/6/2017": 235.08,
"4/21/2017": 243.61,
"2/16/2017": 205.43
}
]
},
{
"name": "ADBE",
"dailyClosePrice": [
{
"3/15/2017": 241.96,
"4/6/2017": 270.22,
"4/21/2017": 281.22,
"2/16/2017": 225.26
}
]
}
]
实际的文件比2更多的人,但你可以看到有两个 主要目的在这里。 我在分析键值对(例如"3/15/2017": 210.08
)时遇到问题。
我需要一类离开这里,我想一个例子类将有
class Stock
{
public string Name{get;set;}
public List<Entry> Prices{get;set;}
}
class Entry
{
public string Date{get;set;}
public double Price{get;set;}
}
所以我想将文件解析成一个 列表
我想我可以使用一个StreamReader并使用Seek方法找到 一个“:”,但是我遇到的麻烦是如何才能够只读“ATVI”。例如,一旦我获得“ATVI”,我将该字符串设置为股票中的名称,然后可以搜索“{”并阅读“2017/3/15”,并将其设置为条目中的日期,然后寻找“ :“并在双读等。
如果我这样做,我不知道如何阅读流的选择元素,在C#中。在C#中,我主要阅读的是具有相同间距的字符串,通常我会使用C来处理更复杂的事情,但是我真的希望使用C#而不是C来完成此操作。
我不在乎我需要使用什么方法,我只是想在文件中读取。
如果我有类似下面,我只想用NewtonSoft
[
{
"name": "ATVI",
"dailyClosePrice": [
{"Date":"3/15/2017", "price":210.08},
{"Date":"3/15/2017", "price": 210.08},
{"Date":"4/6/2017", "price": 235.08},
{"Date":"4/21/2017", "price": 243.61}
]
},
{
"name": "ADBE",
"dailyClosePrice": [
{"Date":"3/15/2017", "price":210.08},
{"Date":"3/15/2017", "price": 210.08},
{"Date":"4/6/2017", "price": 235.08},
{"Date":"4/21/2017", "price": 243.61}
]
}
]
你为什么要这样手动,而不是这样做只是使用专门为目的而设计的库,并有可能做它远远比你更好(或I)可以吗? – DavidG
我使用NewtonSoft作为我的其他JSON文件,但是这个有一个奇怪的格式 –
奇怪的是什么? – DavidG