请帮助,我坚持这个
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
var result = streamReader.ReadToEnd();
Console.WriteLine(result);
}
输出:
{
"request_number":"REQ0010201",
"request_id":"b1c8ba46db3ffa807ea0f4e9bf9619ca",
"sys_id":"35c8ba46db3ffa807ea0f4e9bf9619ca"
}
但我希望仅打印request_id
的输出:b1c8ba46db3ffa807ea0f4e9bf9619ca
答案 0 :(得分:0)
如果返回数据是json,您可以选择两个选项:
希望我帮助你
答案 1 :(得分:0)
创建一个这样的类:
public class myresultclass
{
public string request_number {get;set;}
public string request_id {get;set;}
public string sys_id {get;set;}
}
然后你改变你的功能:
using System.Web.Script.Serialization;
using System.IO;
public string mymethod()
{
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
var result = streamReader.ReadToEnd();
using (var ms = new MemoryStream(Encoding.Unicode.GetBytes(result)))
{
// Deserialization from JSON
DataContractJsonSerializer deserializer = new DataContractJsonSerializer(typeof(myresultclass));
myresultclass obj = (myresultclass)deserializer.ReadObject(ms);
}
Console.WriteLine(result);
Console.WriteLine(myresultclass.request_id);
}
}
注意:如果没有工作,我会用记事本写这个错误:)
答案 2 :(得分:0)
您可以通过JSON.NET
轻松完成using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
var result = streamReader.ReadToEnd();
var jObject = JObject.Parse(result);
var value = (string)jObject["request_id"];
Console.WriteLine(value);
}
答案 3 :(得分:0)
如果您确定请求ID将始终由Json对象中的第二个Attr然后您可以执行一些字符串操作
Intent intent = new Intent(MainActivity.this, NextActivity.class);
intent.putExtra("dataitem", item);
startActivity(intent);
将返回由逗号分割的字符串数组,现在我们知道请求ID是此数组中的第二个Eelment所以adb exec-out screencap -p > test.png && dos2unix.exe -f test.png
应该返回以下字符串string.Split(',')
如果U链另一个分裂但是这次与冒号并得到了输出数组的第二个成员它将是Id值string.Split(',')[1]
如果您不想要引用的引号"request_id":"b1c8ba46db3ffa807ea0f4e9bf9619ca"
所以你的代码应该是
string.Split(':')[1]
你可以从第一次分裂结肠,但我想解释更多
如果您不喜欢可以使用NewtonSoft.Json包将Json对象反序列化为以前创建的R