2010-02-23 274 views
3

我正在使用Twitter API,并且我得到的响应是JSON格式。当我使用C#解析JSON时,profile_image_url的值不包含正确的URL。这个URL在响应中是绝对正确的,但是在解析响应之后,我得到了以下URL。我如何删除反斜杠?如何从URL中删除反斜杠?

http://a1.twimg.com/profile_images/700049686/14_normal.jpg

+2

解析器可能有问题。 – SLaks 2010-02-23 23:28:56

+0

我不认为那里有多余的人......我相信我你会展示一些代码,你会得到更多的答案。 顺便说一句,为什么不使用现有的JSON解析器? – 2010-02-23 23:30:53

+0

@Mike我使用现有的Json解析器,我没有写我自己的,甚至没有任何第三方解析器。 我只是添加了System.Json dll的引用,并且我得到了解析json的JsonArray类。 – 2010-02-23 23:37:47

回答

2

您可以使用替换功能删除反斜杠:

url = url.Replace("\\", "") 

但是,也许你应该花一些时间工作看看那些反斜杠如何到达那里。这听起来像你没有正确解析JSON。你在使用什么解析器?

+0

+1 - 并猜测你的问题的答案;我认为这里根本没有使用真正的JSON解析器 - 我无法想象任何自称为JSON“解析器”的东西无法读取字符串中的ecape序列。 – 2010-02-23 23:33:20

+0

我正在使用JsonArray类来解析这样的json: JsonValue jasonValue = JsonArray.Parse(json); JSONValue results = jasonValue [“results”]; 列表艺术家=新列表(); foreach(JsonObject json艺术家在结果中) { 艺术家艺术家=新艺术家(); artists.CreatedByProfileImageUrl = jsonArtist [“profile_image_url”]。ToString(); artists.Add(artists); } – 2010-02-23 23:34:58

+0

尝试在System.Runtime.Serialization中使用DataContractJSONSerializer - 这对于序列化JSON数组来说很麻烦 - 数组可能会非常棘手,但我通常可以使用ayny格式来处理它。 – 2010-02-23 23:36:40