【发布时间】:2020-06-15 14:15:25
【问题描述】:
我想从一个方法返回一个 json。但我似乎错过了什么
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace RESTBrowserGET
{
public class BrowseRESTGet
{
public static string GETRESTSimulator(string restUrl, string reqMethod)
{
var request = (HttpWebRequest)WebRequest.Create(restUrl);
var response = (HttpWebResponse)request.GetResponse();
var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
//return responseString;
var jsonObj = JsonConvert.DeserializeObject<jsonObj>(responseString);
return jsonObj;
}
}
}
这是我的代码。现在显然我错过了一些东西。请问我似乎缺少什么? 我收到此错误:
Error CS0266 Cannot implicitly convert type 'Newtonsoft.Json.Linq.JObject' to 'string'. An explicit conversion exists (are you missing a cast?)
我似乎遗漏了什么?请我需要某种形式的澄清
编辑
代码现在看起来像这样
public class BrowseRESTGet
{
public static JObject GETRESTSimulator(string restUrl, string reqMethod)
{
var request = (HttpWebRequest)WebRequest.Create(restUrl);
var response = (HttpWebResponse)request.GetResponse();
var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
//return responseString;
var jsonObj = JsonConvert.DeserializeObject(responseString);
return jsonObj;
}
}
现在我正在与这个错误作斗争
Error CS0266 Cannot implicitly convert type 'object' to 'Newtonsoft.Json.Linq.JObject'
编辑
代码编辑为
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace RESTBrowserGET
{
public class BrowseRESTGet
{
public static JObject GETRESTSimulator(string restUrl, string reqMethod)
{
var request = (HttpWebRequest)WebRequest.Create(restUrl);
var response = (HttpWebResponse)request.GetResponse();
var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
//return responseString;
var jsonObj = JsonConvert.DeserializeObject<JObject>(responseString);
return jsonObj;
}
}
}
最新编辑
public static JObject GETRESTSimulator(string restUrl, string reqMethod)
{
var request = (HttpWebRequest)WebRequest.Create(restUrl);
var response = (HttpWebResponse)request.GetResponse();
var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
return responseString;
}
【问题讨论】:
-
这对你有帮助吗?
JObject json = JObject.Parse(str); -
一点也不@viveknuna
-
报错了吗?
-
将
GETRESTSimulator返回类型更改为JObject或返回responseString。 -
@viveknuna,是的