我正在将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作为键和值的信息。我想写一个循环来调用这个键及其值来执行进一步的操作。但是我无法在循环中调用这些数据。
答案 0 :(得分:0)
通常我使用JavaScriptSerializer的方式是
//Serialise
JavaScriptSerializer js = new JavaScriptSerializer();
string str = js.Serialize(new Thing() { ID = "111" });
//Deserialise
Thing thing = js.Deserialize<Thing>(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")
}
然后只处理您收到的键值对。