English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Problema
O problema encontrado pelo usuário é que, ao definir um campo na classe de entidade e na tabela como RMBPrice, com a primeira letra em maiúscula, o nome da coluna retornada pela consulta SQL é RMBPrice em maiúsculas, mas ao inicializar a coluna com o datatables do jQuery, ocorre erro.
O código daquela linha é o seguinte:
{"name": "RMBPrice", "data": "RMBPrice", "className": "text-, "render": formatRMBPrice},
Abra a página e ela mostrará isso. Verifique o valor retornado pela interface chamada no navegador:
É o "rmbprice" em minúsculas
Análise
A interface retorna um objeto @ResponseBody, no código, faça um breakpoint até que o valor de retorno da interface seja todo em maiúsculas, então pode ser que haja problema na conversão para JSON.
No 百度 json, se a primeira letra for maiúscula, o artigo de conversão automática para minúsculas aparecerá.
Após teste, realmente é assim, todas as letras maiúsculas no início serão convertidas para minúsculas até que não haja mais maiúsculas, se houver maiúsculas após minúsculas, elas serão mantidas maiúsculas.
Por exemplo: RRRddRRR se torna rrrddRRR.
Solução
Eu diretamente modifiquei aquela linha do código, alterando para:
{"name": "rmbprice", "data": "rmbprice", "className": "text-, "render": formatRMBPrice},
Após consulta, para manter maiúsculas, é necessário adicionar a anotação.
Por exemplo, uso do jackson:
Ao definir campos na classe de entidade:
@JsonProperty("ActionCode") private String ActionCode = ";
Uso do fastjson:
@JSONField(name = "Nome") E essa marca deve ser aplicada antes do método get:
public class User {}} private String name; private int age; @JSONField(name = "Name") public String getName(){ return name; } public void setName(String name){ this.name = name; } @JSONField(name = "Age") public int getAge(){ return age; } public void setAge(int age){ this.age = age; } }
Também dizem:
Conversão forçada, usando com.alibaba.fastjson.serializer.PascalNameFilter, converta diretamente a primeira letra para maiúscula. Exemplo: JSON.toJSONString(bean, new PascalNameFilter());
No entanto, eu não testei nenhuma dessas, porque usei o nome convertido automaticamente para minúsculas. Se você quiser manter maiúsculas, você mesmo precisa procurar mais. ;~9786;;9786;
Aqui está a maneira que o editor compartilha com você de converter automaticamente para minúsculas as primeiras letras de uma string JSON com Jackson, isso é tudo o que o editor compartilha com você. Espero que isso ajude você a obter uma referência e que você apóie e clamore pelo tutorial.
Declaração: O conteúdo deste artigo é extraído da internet, pertence ao autor original, foi contribuído e carregado voluntariamente pelos usuários da internet, este site não possui direitos de propriedade, não foi editado manualmente e não assume responsabilidades legais relacionadas. Se você encontrar conteúdo suspeito de infringir direitos autorais, seja bem-vindo a enviar e-mail para: notice#oldtoolbag.com (ao enviar e-mail, substitua # por @ para denunciar e forneça provas relevantes. Caso seja confirmado, o site deletará imediatamente o conteúdo suspeito de infringir direitos autorais.)