【发布时间】:2022-01-06 07:29:54
【问题描述】:
想象一个方法接受 2 个字符串参数:
public int Method(string expression, string variables) { ... }
"expression" 应该是一个数学。需要评估的表达式(例如“1 + 2”)。如果除了数字和运算符之外还有其他内容,我需要在"variables" 字符串参数中查找variable,以将该变量替换为它所代表的数字。 (不能保证变量是在"variables" 中定义的,但我相信这里并不重要)。
输入示例:
Method("351 + x", "{ \"x\":69 }");
// Expected output: 420
其他有效"variables" 值示例:
- { "x":123 }
- { "x":123, "y":420 }
- { }
- { "z":69 }
- { "abc": 777 }
我想知道什么是从 JSON 中解析和检索数据的好方法(每次可能具有不同的结构(即不同数量的属性和名称)),将其与 @ 中的 variable 映射987654330@字符串?
【问题讨论】:
-
映射到
Dictionary<string, object>或类似的怎么样? -
@UweKeim 是的,这似乎是一个很好的解决方案。有没有办法做到这一点没有任何 3rd 方库/nuget 包?我正在解决 HackerRank 上的一个问题,但不确定是否可以使用“Newtonsoft.Json”
-
我什至不敢敢自己做。 Newtonsoft FTW!
-
是的,有道理......而且可能有访问该库的权限,但不幸的是我没有检查过。谢谢你的帮助。简单的解决方案,由于某种原因没有想到...您可以将此作为答案发布,因此如果您愿意,我可以接受:) 再次感谢!
标签: c# json .net formatting string-parsing