C# 拆分Json字符串
如何在Unity中拆分json字符串?我有一个名为entry_text的字符串,由函数传递。当我打印出来的时候。是的 “大气\t7\n重力\t\n磁性\t\n地震活动\t\n地表\t\n温度\t\n气象\t\n要素1\t\n要素2\t\n要素3\t\n7” 其中包含C# 拆分Json字符串,c#,json,string,unity3d,C#,Json,String,Unity3d,如何在Unity中拆分json字符串?我有一个名为entry_text的字符串,由函数传递。当我打印出来的时候。是的 “大气\t7\n重力\t\n磁性\t\n地震活动\t\n地表\t\n温度\t\n气象\t\n要素1\t\n要素2\t\n要素3\t\n7” 其中包含“\t”和“\n”。因此,我想通过“\t”和“\n”来拆分字符串 我用了 string[] lines = entry_text.Split(new string[] {"\n"}, StringSplitOptions.None)
“\t”
和“\n”
。因此,我想通过“\t”
和“\n”
来拆分字符串
我用了
string[] lines = entry_text.Split(new string[] {"\n"}, StringSplitOptions.None);
我也试过了
string[] lines = Regex.Split(entry_text, "\n");
这也不起作用:
string[] lines = entry_text.Split(new Char[] {'\n'}, StringSplitOptions.None);
split函数似乎没有将“\n”作为Enter,或将“\t”作为Json的空格。您可以使用多个分隔符:
string[] lines = entry_text.Split('\t', '\n');
如果要按新行字符拆分,也可以尝试以下操作:
string[] lines = entry_text.Split(new[] { Environment.NewLine }, StringSplitOptions.None);
如果您将此作为字符串:
string entry_text = "Atmosphere\t7\nGravity\t\nMagnetism\t\nSeismic Activity\t\nSurface\t\nTemperature\t\nWeather\t\nElement 1\t\nElement 2\t\nElement 3\t\n7";
请记住,字符串中的\t
和\n
是两个独立的字符:a\
后跟at
或n
定义时:
string[] lines = entry_text.Split(new string[] {"\n"}, StringSplitOptions.None);
您的{“\n”}
正在转换为换行符,而不是两个单独的字符。为此,您需要对\n
中的\
字符进行转义:
string[] lines = entry_text.Split(new string[] {"\\n"}, StringSplitOptions.None);
另一种书写方法是使用@
符号,意思是“获取此字符串中的文字字符,而不是转义它们”:
你说它不起作用是什么意思?你得到了错误的结果吗?预期的结果是什么?字符串中是否有一个文本
\n
换行符,或是一个`字符后跟一个n`字符?如果是后者,您是否尝试过\\n
而不是\n
?您好,@Selman22…我的意思是它没有真正拆分它。因为当我打印lines.Length时,它仍然是1,而且lines[0]只是完整的字符串…旁注:我在示例中没有看到任何JSON。。。你能澄清一下为什么在帖子中提到JSON吗?(我已经从你的帖子中删除了一些额外的文字-如果你觉得除了hi/Thank文字之外还有其他重要内容,请随时回复我的更改)哦,@OnlineCop,是的!它通过使用\\n。。。多谢各位
string[] lines = entry_text.Split(new string[] {@"\n"}, StringSplitOptions.None);