我试图将此linq查询结果转换为JSON数据,我设法这样做:
List<FormDataEndPoint> formularioEndpoint = query.AsEnumerable()
.SelectMany(m => m.MarcacaoFormulario
.Select(f => new FormDataEndPoint
{
formData = JsonConvert.SerializeObject(f.MarcacaoFormularioCampo.Select(mfc => new
{
key = mfc.nomeCampo,
value = mfc.valorCampo
}).ToList()),
formCode = f.Formulario.codIdentificacao,
serviceConnector = f.Formulario.EntidadeDestinoFormulario.ServiceConnector,
postDate = DateTime.Now,
service = f.Formulario.FormularioServicoLocal.Select(fsl => fsl.Servico).FirstOrDefault().nome,
entity = f.Marcacao.EntidadeLocal.Entidade.nome,
location = f.Marcacao.EntidadeLocal.Local.nome,
files = f.MarcacaoFormularioArquivo
.Select(fma => new FormDataFile
{
base64File = fma.base64File,
nomeArquivo = fma.nome,
extensao = fma.nome
}).ToList()
}))
.Where(formData => formData.serviceConnector != null)
.ToList();
这是我实际将数据转换为Json
的地方formData = JsonConvert.SerializeObject(f.MarcacaoFormularioCampo.Select(mfc => new
{
key = mfc.nomeCampo,
value = mfc.valorCampo
}).ToList())
问题是,这个方法给了json像:
[{key: 'name', value: 'John'}, {key: 'Country', value: 'USA'}]
当然这些&#34;关键&#34;和&#34;价值&#34;我只是为匿名对象中的属性选择的名称,它可以是任何名称。 但我真正需要的是是一个经典的键值对json,比如
{'name': 'John', 'country':'USA'}
但是我不确定我是否可以通过在linq上做一些不同的事情来获得它,或者我以后应该获取json数据并转换为看起来像 我需要的格式。