我在可移植类库(PCL)项目中使用Json.NET(Newtonsoft.Json)包(目标是Xamarin.Android和Xamarin.iOS),并希望得到一个没有JSON对象的字符串表示格式化(即没有新行,没有标签等)。我怎么能这样做?
目前,如果我在JObject.ToString()
个实例上调用JObject
,我会得到一个包含新行(\n
)字符的字符串,如下所示:
"{\n \"key\": \"value\"\n}"
基本上,我想要做的是解析JSON对象的初始字符串表示,该对象可能不包含格式化/缩进/等,将解析后的JSON对象转换为不包含格式化/缩进/等,并以字符串结尾,如下所示:
"{\"key\":\"value\"}"
这是否可以在PCL项目中使用Json.NET(Newtonsoft.Json)包?我可以用另一个库来完成这个吗?
答案 0 :(得分:4)
您是否尝试过接受JObject.ToString()
枚举值Formatting
的重载?
string json = jObject.ToString(Formatting.None);
答案 1 :(得分:1)
嗯,我找不到使用JObject
执行此操作的方法,但可以使用JsonConvert
查看,如下所示:
string json = "{\n\t\"key\":\"value\"\n}"
var parsedJSon = JsonConvert.DeserializeObject (json);
string jsonNoFormatting = JsonConvert.SerializeObject (parsedJSon, Formatting.None);
我想知道是否有更好的方法来做到这一点?...