我正在尝试实现一个随机的1个字符的字母数字JArray。
我遇到了这个:
How can I generate random alphanumeric strings in C#?
但是,我需要一个JArray,所以我尝试了这个:
var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
var random = new Random();
var result = new JArray(
Enumerable.Repeat(chars, 1)
.Select(s => s[random.Next(s.Length)])
.ToArray());
我每次都会收到Could not determine JSON object type for type System.Char
错误。
有什么想法吗?
答案 0 :(得分:6)
JSON没有字符的原语 - 只有字符串,数字和数组。只需添加.ToString()
即可将您的角色转换为字符串,该字符串可以转换为JSON字符串:
var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
var random = new Random();
var result = new JArray(
Enumerable.Repeat(chars, 1)
.Select(s => s[random.Next(s.Length)].ToString())
.ToArray());
答案 1 :(得分:2)
如果您按顺序获得多个random,可能需要更改代码以生成更好的random,但这可用于创建JArray
var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
var random = new Random ( );
var result = JArray.FromObject (
Enumerable.Repeat ( chars , 1 )
.Select ( s => s [ random.Next ( s.Length ) ] )
.ToArray ( ) );