C# 在C中将任何字符串转换为JSON格式#

C# 在C中将任何字符串转换为JSON格式#,c#,json,string,C#,Json,String,我使用的是GET方法(MCV4/WEB-API/vs2010) 我想返回json格式的响应字符串 我有一个字符串(任意字符串),希望将其转换为json以作为响应返回) 如何将任何字符串转换为JSON格式: string s = "{\"one\":\"a\", \"two\": \"2\"}"; Request.CreateResponse(HttpStatusCode.OK, <what shall i put here in order to return json of string

我使用的是GET方法(MCV4/WEB-API/vs2010)

我想返回json格式的响应字符串

我有一个字符串(任意字符串),希望将其转换为json以作为响应返回)

如何将任何字符串转换为JSON格式:

string s = "{\"one\":\"a\", \"two\": \"2\"}";
Request.CreateResponse(HttpStatusCode.OK, <what shall i put here in order to return json of string s>);
我需要转换字符串,因为我使用的是第三方工具,它向我发送字符串(而不是json对象)。 我不明白怎么回事,因为json实际上代表一个长字符串——它只是称为json

我不知道响应中是否添加了“sign”,因为我正在chrome的高级rest客户端插件上检查它,我看到了字符串前后的“sign”。然而,我通过的字符串,前后都应带有“符号”


谢谢:)

通常情况下,您不会使用Web API将计划返回的对象转换为特定格式。服务器将根据内容协商以所需格式返回数据(如果知道如何返回)。因此,您的函数签名应返回字符串,Web API将根据需要负责转换为XML或JSON

更新,示例函数:

public string GetString()
     {
     string s="Hello, world!";
     return s;
     }

如果要返回字典,请执行以下操作:

public Dictionary<string,string> GetDict()
    {
    var dict=new Dictionary<string,string>();
    dict.Add("one", "a");
    dict.Add("two", "2");
    return dict;
    }
公共字典GetDict()
{
var dict=新字典();
添加(“一”、“一”);
添加(“二”、“二”);
返回命令;
}

public HttpResponseMessage GetDict()
{
var dict=新字典();
添加(“一”、“一”);
添加(“二”、“二”);
返回请求.CreateResponse(HttpStatusCode.Ok,dict);
}

您的意思-我将执行以下操作:Request.CreateResponse(HttpStatusCode.OK,s);内容类型为application/json?我看到的响应返回空字符串。我使用mcv4作为web api,继承如下ApicController类:public HttpResponseMessage Post([FromBody]字符串值){s=“…”return Request.CreateResponse(HttpStatusCode.OK,s,“application/json”);但是上面返回一个字符串(带有“在开始和结束时,而不是json”)。@I请尝试我更新的代码,特别是最后一个块。不,不要在响应中指定内容类型。让框架为您处理。请参阅我在您的帖子中的说明。我想做一些非常通用的事情(所有字符串都有一个代码)-我只是将json作为字符串发送,并希望作为字符串返回(因为解析器在别处,而不是在C#中)。请查看[此stackoverflow post][1]。[1]:
public HttpResponseMessage GetString()
    {
    string s="Hello, world!";
    return Request.CreateResponse(HttpStatusCode.Ok, s);
    }
public Dictionary<string,string> GetDict()
    {
    var dict=new Dictionary<string,string>();
    dict.Add("one", "a");
    dict.Add("two", "2");
    return dict;
    }
public HttpResponseMessage GetDict()
    {
    var dict=new Dictionary<string,string>();
    dict.Add("one", "a");
    dict.Add("two", "2");
    return Request.CreateResponse(HttpStatusCode.Ok, dict);
    }