反序列化JSON对象Spring数据存储库

时间:2018-03-27 21:20:18

标签: spring solr jackson spring-data solrj

我有一个solr后端配置为Spring Data Repository。

package domain
import org.apache.solr.client.solrj.beans.Field
import org.springframework.data.annotation.Id
import org.springframework.data.solr.core.mapping.SolrDocument

@SolrDocument(solrCoreName = "myCore")
class Product {
    @Id
    val id: String? = null
    @Field("sku_product_mapping")
    val skuProductMapping: String? = null;

产品域对象定义为

{
   "id": "FOO_166112",
   "sku_product_mapping": "{\"166112\": {\"size\": \"1.00\"}}"
}

返回的solr文件是

skuProductMapping

我想将Map<String, Map<String, String>>字段更改为loggedIn()或更好的内容。但我不确定如何让Jackson在Solr文档中解析嵌入的JSON字符串。

1 个答案:

答案 0 :(得分:0)

与杰克逊进行JSON解析是相同的,无论您的skuProductMappingString还是Map<String, Map<String, String>>还是更强类型Map<Integer, Map<String, Double>>,还是更强SkuProductMapping。< / p>

只做一个:

Product product = objectMapper.readValue(jsonString, Product.class);