C# 如何获取包含多行的对象值
我正在将一个C# 如何获取包含多行的对象值,c#,json,excel,C#,Json,Excel,我正在将一个JSON字符串转换成一个对象,这个对象包含一个类似于行结构的表的多个记录。每行包含一些设置值。它就像一个物体中的一个物体。我试图读取这些对象的值,但没有成功 WebResponse response = request.GetResponse(); Stream responseStream = response.GetResponseStream(); // Open the stream using a StreamReader for easy access. Stream
JSON
字符串转换成一个对象,这个对象包含一个类似于行结构的表的多个记录。每行包含一些设置值。它就像一个物体中的一个物体。我试图读取这些对象的值,但没有成功
WebResponse response = request.GetResponse();
Stream responseStream = response.GetResponseStream();
// Open the stream using a StreamReader for easy access.
StreamReader reader = new StreamReader(responseStream);
// Read the content.
string responseFromServer = reader.ReadToEnd();
//converting json data into array
JavaScriptSerializer ss = new JavaScriptSerializer();
object itm = ss.DeserializeObject(responseFromServer);
在这个响应流中,对象给出了带有多个值的json字符串,我正在使用javascriptserializer将其转换为对象。在调试模式下,我看到所有数据都以多行的形式存在于这个对象中,其中每行本身也是一个对象
这些行存储诸如offer_id、name as key和there值之类的信息。我想写一个循环来调用这个键及其值以执行进一步的操作。但是我无法在循环中调用这些数据。通常我使用JavaScriptSerializer的方式是
//Serialise
JavaScriptSerializer js = new JavaScriptSerializer();
string str = js.Serialize(new Thing() { ID = "111" });
//Deserialise
Thing thing = js.Deserialize<Thing>(str);
//序列化
JavaScriptSerializer js=新的JavaScriptSerializer();
string str=js.Serialize(newthing(){ID=“111”});
//反序列化
Thing=js.Deserialize(str);
但是,如果您不知道要转换回的类型,可以
Dictionary<string, object> dic = (Dictionary<string, object>)js.DeserializeObject(str);
foreach (KeyValuePair<string, object> keyValue in dic)
{
keyValue.Key; <-- this is the property name (ID)
keyValue.Value; <-- this is the property value ("111")
}
Dictionary dic=(Dictionary)js.DeserializeObject(str);
foreach(dic中的KeyValuePair keyValue)
{
keyValue.Key;您是否尝试过将结果放入单个单元格而不是区域中?实际上,以前我创建的对象仅包含值,而这些值没有键名,工作正常,但现在我的对象包含多行数据,每行包含多个键值,现在此代码失败。我只想知道如何将我的对象itm放入循环中,以便获得itI中的存储值我正在认真寻找解决方案ASAPdo您不知道要反序列化的对象的类型
?当我过去使用JavaScriptSerializer
时,我刚刚反序列化到我首先序列化的对象…MyClass myClassObject=ss.Deserialize(responseFromServer);
我现在已经对它进行了反序列化,并以数组格式获取myClassObject中的所有数据。现在每行都有多个对象,如offer\u id->2 person->“abcd”。可以有这么多这样的信息。所以我想计算它的总数,它也不显示数据,如键->键名和值->值名。要在excel中打印所有这些数据,我必须一个接一个地写入所有这些键。错误应该告诉你失败的原因…并突出显示要声明字典的类型…你能显示错误吗?