-1

下面是我的代码,

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

4

2 回答 2

2

让我来修正你的方法——而不是使用你的数据构建 JSON 字符串,然后将它们放入一个列表并再次尝试序列化它,你应该做的是构建你的数据结构,然后一次性序列化它。

由于我无法弄清楚您帖子中数据的结构,因此这里有一个不同格式的示例:

public struct Person
{
    public string Name;
    public int Age;
    public List<string> FavoriteBands;
}

序列化它的最简单方法是使用Newtonsoft JSON。如果您有一个名为 的对象person,那么您将使用它来序列化它

string json = JsonConvert.SerializeObject(person);

现在假设你有一个这些对象的列表 ie List<Person> people = GetTheListFromSomewhere();,那么你将使用它来序列化它

string json = Newtonsoft.Json.JsonConvert.SerializeObject(people);

继续尝试!

于 2013-11-12T09:50:46.483 回答
1
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”}

于 2013-11-12T09:34:41.687 回答