C# 如何使用C正确拆分字符串数组#

C# 如何使用C正确拆分字符串数组#,c#,php,json,json.net,C#,Php,Json,Json.net,我有一个简单的php脚本,它在后端使用json_encode方法输出字符串数组。它这样输出: ["8090123","8090456","8090789","8090321","8090654"] 现在,我想在我的C代码中解析它,但我似乎无法正确解析它 下面是我的C#代码: 使用系统; 使用System.Collections.Generic; 使用System.Linq; Net系统; 使用系统文本; 使用System.Threading.Tasks; 命名空间控制台应用程序5 { 班级计划

我有一个简单的php脚本,它在后端使用json_encode方法输出字符串数组。它这样输出:

["8090123","8090456","8090789","8090321","8090654"]
现在,我想在我的C代码中解析它,但我似乎无法正确解析它

下面是我的C#代码:

使用系统;
使用System.Collections.Generic;
使用System.Linq;
Net系统;
使用系统文本;
使用System.Threading.Tasks;
命名空间控制台应用程序5
{
班级计划
{
静态void Main(字符串[]参数)
{
使用(WebClient wc=new WebClient())
{
字符串myString=wc.DownloadString(“https://magforex.biz/list.php");
string[]words=myString.Split(',');
for(var i=0;i
代码运行得很好,但它输出的结果不是我想要的

抱歉,我刚开始学习C#,对它的了解有限

我所需要的只是字符串
8090123
,以便稍后进行比较


感谢您提前提供帮助。

为什么不做一件显而易见的事情,用JSON解码您的JSON输入数据?使用Newtonsoft.JSON:


JsonConvert.DeserializeObject(myString)

使用适当的JSON解析库将JSON字符串解析为静态类型的类模型:

string[] words = JsonConvert.DeserializeObject<string[]>(myString);
string[]words=JsonConvert.DeserializeObject(myString);

您应该将其改为word[i]开始,然后我不确定您到底想做什么。

您只是缺少一个步骤:

string[] words = myString.Trim(new []{'[',']'}).Split(',');
老实说,除非您打算对更复杂的对象图使用
JsonConvert
,否则在这种情况下使用json反序列化器有点过火,IMHO

编辑:如果不需要引号,可以使用LINQ投影

string[] words = myString.Trim(new []{'[',']'})
                     .Split(',')
                     .Select(s => s.Trim(new[]{'"'}).ToArray();

顺便说一句,我非常熟悉Json.NET,多年来一直是ServiceStack的一员。但我倾向于使用更简单的解决方案,因为,好吧?

如果您不想使用Newtonsoft库,可以使用
JavaScriptSerializer
将字符串转换为数组。使用System.Web.Script.Serialization添加
和然后:

string myString = wc.DownloadString("https://magforex.biz/list.php");
JavaScriptSerializer js = new JavaScriptSerializer();
string[] myArray = js.Deserialize<string[]>(myString);
string myString=wc.DownloadString(“https://magforex.biz/list.php");
JavaScriptSerializer js=新的JavaScriptSerializer();
字符串[]myArray=js.Deserialize(myString);

像使用JSON库一样使用JSON库,您不想手动解析它。是的,我知道。我现在只是硬编码索引,以便在运行循环之前证明我是否解析了正确的索引。谢谢;)那么您可能需要words.Join()没关系。其他人建议的json库起作用了!无论如何,谢谢;)你可能是对的。这只是一个简单的数组,我想通过使用split方法就可以了。但是建议的json库满足了我的迫切需要。我不确定它是否适合我的简单任务。你只是缺少了<代码>Trim
step在拆分之前清理数据…;-)此方法仍然会在单个字符串周围保留引号,因此您也需要一个循环来剥离这些字符串。使用JSON解析器是一个更好的方法。只需修剪掉您不需要的内容。我想他们需要引号,TBH…您必须在spli之后修剪引号设置值,否则只删除完整字符串中的第一个和最后一个引号。类似于
string[]words=myString.Trim(new char[]{'['',']})。拆分(',')。选择(s=>s.Trim(new char[]{'''})).ToArray();
string myString = wc.DownloadString("https://magforex.biz/list.php");
JavaScriptSerializer js = new JavaScriptSerializer();
string[] myArray = js.Deserialize<string[]>(myString);