标签: objectmapper

无法将ObjectMapper解析为某种类型

我有麻烦让JSON工作.ObjectMapper无法解决.库已正确导入.

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.sf.json.JSONException;
import net.sf.json.util.*;

import com.fasterxml.jackson.*;

public class Json {
    private static final String jsonFilePath = "C:\\Users\\Juergen\\Desktop\\filesForExamples\\mapExample.json";

    public static void objectToJSON(HashMap<String, Mat> map) {
        //Map<String, Object> mapObject = new HashMap<String, Object>();
        ObjectMapper mapper = new ObjectMapper();

        try {
            objectMapper.writeValue(new File(jsonFilePath), map);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

java json objectmapper

6
推荐指数
2
解决办法
2万
查看次数

使用jackson将json对象的List转换为hashmap

有没有办法使用内置的Jackson功能,使用java将json对象列表转换为HashMap

说明:我需要解析的Json结构

{
    list:[
        {
            keyId : 1,
            keyLabel : "Test 1",
            valueId: 34,
            valueLabel: "Test Lable"
        },
        {
            keyId : 2,
            keyLabel : "Test 2",
            valueId: 35,
            valueLabel: "Test Lable"
        },
        {
            keyId : 3,
            keyLabel : "Test 3",
            valueId: 36,
            valueLabel: "Test Lable"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

我期待的对象模型,

class Key{
    int keyId;
    String keyLable;

    hashCode(){
    return keyId.hashCode();
    }
}

class Value{
    int valueId;
    String valueLable;

    hashCode(){
    return valueId.hashCode();
    }
}
Run Code Online (Sandbox Code Playgroud)

我需要将上面的json列表转换为这样的地图,

HashMap<Key,Value> map;
Run Code Online (Sandbox Code Playgroud)

java jackson objectmapper

6
推荐指数
1
解决办法
7267
查看次数

即使使用NON_NULL,Jackson ObjectMapper也会抛出NullPointerException

当使用以下JSON并且"phones"或"emailAddresses"为空时,我收到NullPointerException.

JSON:

{
  "item": {
    "messages": {
      "user.phone.missing": {
        "type": "warning",
        "key": "user.phone.missing",
        "message": "User profile does not have a phone number",
        "code": null
      },
      "user.email.missing": {
        "type": "warning",
        "key": "user.email.missing",
        "message": "User profile does not have an email address",
        "code": null
      },
      "user.es.sync.failed": {
        "type": "error",
        "key": "user.es.sync.failed",
        "message": "Unable to sync user",
        "code": null
      }
    },
    "user": {
      "firstName": "Test",
      "middleInitial": null,
      "lastName": "User",
      "createdDt": "2016-04-20 19:50:03+0000",
      "updatedDt": null,
      "lastVerifiedDt": null,
      "status": "DEACTIVATED",
      "tokens": [
        {
          "tokenHash": "test …
Run Code Online (Sandbox Code Playgroud)

java json nullpointerexception jackson objectmapper

6
推荐指数
1
解决办法
2万
查看次数

使用 Moya + RxSwift 进行自定义错误响应处理

我在 iOS 应用程序中使用 Moya 和 RxSwift 进行网络连接,我希望能够在我的Observers 调用onError.

API 始终以以下 JSON 格式返回错误响应:

{
   "error": {
      "message": "Error message goes here",
      "code": "String error code"
   }
}
Run Code Online (Sandbox Code Playgroud)

目标是实现类似于以下代码片段的内容,其中传入的错误onError是我的自定义错误类型而不是Moya.Error类型:

observable
    .subscribe(
        onNext: { response in
            // Do typical onNext stuff
        },
        onError: { error in
            // Get and consume my custom error type here:
            let customError = error as! MyCustomErrorModel
            print("My API's error message: \(customError.error?.message)")
            print("My API's error code: \(customError.error?.code)")
        })
Run Code Online (Sandbox Code Playgroud)

我能够使用自定义PluginType(粘贴在下面,来自 …

ios swift rx-swift objectmapper moya

6
推荐指数
1
解决办法
7559
查看次数

错误域= NSCocoaErrorDomain代码= 3840"字符1周围的对象中的值没有字符串键."

这是从服务器返回的json字符串.我试图将其映射到对象映射器类并打印值但我得到以下错误.

错误域= NSCocoaErrorDomain代码= 3840"字符1周围的对象中的值没有字符串键."

{'Status': False, 'updatedStatus': True, 'connectionStatus': True}
Run Code Online (Sandbox Code Playgroud)

以下是我的mapper类

public class Info: Mappable {


    internal let kStatusKey: String = "Status"
    internal let kConnectionStatusKey: String = "connectionStatus"
    internal let kupdatedStatusKey: String = "updatedStatus"


    // MARK: Properties
    public var Status: String?
    public var connectionStatus: String?
    public var updatedStatus: String?



    // MARK: ObjectMapper Initalizers
    /**
     Map a JSON object to this class using ObjectMapper
     - parameter map: A mapping from ObjectMapper
     */
    required public init?(_ map: Map){

    }

    /**
     Map a …
Run Code Online (Sandbox Code Playgroud)

json ios swift objectmapper

6
推荐指数
1
解决办法
6132
查看次数

Object Mapper类用于在Core Data中存储数据

让我从问题的背景开始.

我有一个Person用于解析JSON响应的类

class Person: NSObject, Mappable {

        var ID : String?
        var firstName : String?
        var lastName : String?

        convenience required init?(map: Map) {
                self.init()

            }

            func mapping(map: Map) {
                patientsCount <- map["patientsCount"]
                status <- map["status"]
                message <- map["Message"]
                patientSearchArray <- map["patientsList_JSON"]
            }
    }
Run Code Online (Sandbox Code Playgroud)

而在另一方面,我有另一个PersonMO用于保存记录的类名CoreData

        @objc(Event)
        class PersonMO: NSManagedObject {

        @NSManaged var ID : String?
        @NSManaged var firstName : String?
        @NSManaged var lastName : String?

    }
Run Code Online (Sandbox Code Playgroud)

现在谈到要点.我面临的问题是我必须为一个目的创建两个不同的类.就像当JSON谈到形式Server Side那么我必须把它解析为Person …

core-data ios swift objectmapper

6
推荐指数
1
解决办法
1361
查看次数

使用ObjectMapper时如何设置jackson序列化深度级别?

Assuem我有以下类:

public class Employee {
    private Department department;

    // other fields, getters and setters omited for brevtity
}

public class Department {
    private Address address;

    // other fields, getters and setters omited for brevtity
}

public class Address {
    private Location location;

    // other fields, getters and setters omited for brevtity
}

public class Location {
    private String streetName;

    // other fields, getters and setters omited for brevtity
}
Run Code Online (Sandbox Code Playgroud)

现在,我想加载Employee对象并序列化它ObjectMapper:

public void serializeEmployee() {
    Employee employee …
Run Code Online (Sandbox Code Playgroud)

java serialization json jackson objectmapper

6
推荐指数
1
解决办法
2224
查看次数

com.fasterxml.jackson.databind.exc.MismatchedInputException:无法从 START_OBJECT 令牌反序列化 `java.util.ArrayList` 的实例

如何阅读下面JSON使用Jackson ObjectMapper?我已经开发了代码,但出现以下错误。

com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.util.ArrayList` out of START_OBJECT token
 at [Source: (File); line: 7, column: 19] (through reference chain: com.example.demo.resources.Orgnization["secondaryIds"])
Run Code Online (Sandbox Code Playgroud)

JSON

{
  "id": "100000",
  "name": "ABC",
  "keyAccount": false,
  "phone": "1111111",
  "phoneExtn": "11",
  "secondaryIds": {
    "ROP": [
      "700010015",
      "454546767",
      "747485968",
      "343434343"
    ],
    "AHID": [
      "01122006",
      "03112001"
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

java json jackson deserialization objectmapper

6
推荐指数
1
解决办法
1万
查看次数

Spring Boot:基于端点使用自定义对象映射器/消息转换器

我想基于端点配置自定义消息转换器。例如,我在Spring启动控制器中有以下两个端点:

@RequestMapping(value = "/all", method = RequestMethod.GET)
    public ResponseEntity<Object> findAll{@PageableDefault(size = 10, page = 0) final Pageable pageable){
//code
}

@RequestMapping(value = "/object/{id}", method = RequestMethod.GET)
    public ResponseEntity<Object> byId{@RequestParam("id" String id){
//code
}
Run Code Online (Sandbox Code Playgroud)

对于这两种情况,我想使用不同的HttpMessageConverter(以及对象映射器)实例。例如,我想CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES/all端点设置策略,因为它是页面响应,而不是/object

该应用程序已经configureMessageConverters覆盖了方法,所有Objects都使用了Objectmapper bean。如果对此做出任何更改,它将适用于所有端点,这是我不希望的。

还有其他方法吗?(有点像在findAll方法本身中创建和使用自定义消息转换器)

java spring-mvc jackson spring-boot objectmapper

5
推荐指数
0
解决办法
581
查看次数

阿帕奇·约翰松vs杰克逊

自从Apache发布了Johnzon的第一个最终版本以来,看看Johnzon和FastXML Jackson之间是否已经有一些比较,看看是否值得进行转换,将是非常有趣的。最重要的主题可能是性能。

有没有人做过性能测试?您可以分享您的结果吗?

最好

apache json jackson objectmapper apache-johnzon

5
推荐指数
1
解决办法
973
查看次数