将JSON对象转换为没有格式和缩进的字符串

时间:2014-04-30 16:00:08

标签: xamarin.ios xamarin.android xamarin json.net portable-class-library

我在可移植类库(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)包?我可以用另一个库来完成这个吗?

2 个答案:

答案 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);

我想知道是否有更好的方法来做到这一点?...