以下是我的代码,
List<string> modified_listofstrings = new List<string>();
string sJSON = "";
System.Web.Script.Serialization.JavaScriptSerializer jSearializer =
new System.Web.Script.Serialization.JavaScriptSerializer();
resulted_value = final_resulted_series_name + ":" + period_name + ":" + period_final_value;
modified_listofstrings.Add(resulted_value);
json_resultedvalue = JsonConvert.SerializeObject(resulted_value);
modified_listofstrings.Add(json_resultedvalue);
sJSON = jSearializer.Serialize(modified_listofstrings);
return sJSON;
但是接下来,
sJSON = jSearializer.Serialize(modified_listofstrings);
我收到错误,因为无法将类型字符串隐式转换为system.collection.generic.list
答案 0 :(得分:2)
让我修复你的方法 - 而不是使用你的数据构建JSON字符串,然后将它们放入列表并再次尝试序列化,你应该做的是构建你的数据结构,然后一次性序列化它。 / p>
由于我无法弄清楚你帖子中数据的结构,这里有一个不同格式的例子:
public struct Person
{
public string Name;
public int Age;
public List<string> FavoriteBands;
}
序列化它的最简单方法是使用Newtonsoft JSON。如果您有一个名为person
的对象,那么您将使用
string json = JsonConvert.SerializeObject(person);
现在假设您有一个这些对象的列表,即List<Person> people = GetTheListFromSomewhere();
,那么您将使用
string json = Newtonsoft.Json.JsonConvert.SerializeObject(people);
继续尝试吧!
答案 1 :(得分:0)
resulted_value = final_resulted_series_name + ":" + period_name + ":" + period_final_value;
这不是有效的JSON。它必须具有以逗号分隔的键,值格式。我想它应该是:
resulted_value = "{series_name : \"" + final_resulted_series_name + "\",period_name: \"" + period_name + "\",period_final_value: \"" + period_final_value + "\"}";
所以结果应该是这样的:
{series_name:“whatever_series_name_is”,period_name: “whatever_period_name_is”,period_final_value: “whatever_period_final_value_is”}