尝试使用Newtonsoft.Json从str1 = X& str2 = Y中获取对象
获取:“解析值时遇到意外的字符:s。第1行,第1位。”
我希望这可以起作用吗?
public class MyTest
{
public string str1 { get; set; }
public string str2 { get; set; }
}
public MyTest GetJson()
{
data = "str1=X&str2=Y";
JsonSerializerSettings jss = new JsonSerializerSettings();
jss.MissingMemberHandling = MissingMemberHandling.Error;
jss.ObjectCreationHandling = ObjectCreationHandling.Reuse;
MyTest myTest = JsonConvert.DeserializeObject<MyTest>(data, jss);
}
答案 0 :(得分:3)
是的,你离开了。 json看起来更像是这样:
{"str1":"x","str2":"y"}
有关更多信息,请访问www.json.org。
将查询字符串转换为json:
var queryString = "str1=X&str2=Y";
var queryParams = HttpUtility.ParseQueryString(queryString);
var jsonObject = new JObject(from k in queryParams.AllKeys
select new JProperty(k, queryParams[k]));
将json字符串转换为对象:
MyTest test = JsonConvert.DeserializeObject<MyTest>(jsonObject.ToString());
将对象转换为json:
var test = JsonConvert.SerializeObject( new MyTest{str1 = "X", str2 = "Y"});
答案 1 :(得分:2)
这是一个查询字符串,而不是JSON字符串
您可以使用HttpUtility.ParseQueryString
解析它,它会返回NameValueCollection
。