donguy76
donguy76

Reputation: 640

C# : JSON DeserializeObject giving Exception

I have a JSON string like shown below which i get from a webservice:

"[[\"XYZ40E\",\"D        XYZ-12572\",\"XYZ, XYZ HARDWARE END ITEM, XYZ40 (REV D) IXYZ SE KPD\"],[\"5.001.0.045\",\"M        XYZ-14280\",\"PROGRAMMING AND CONFIGURING IXYZ SE XYZ\"],[\"222TTEK0000\",\"A        XYZ-14631\",\"XYZ, XYZ40, MULTIXYZ, SE REV D, XYZ, STD XYZ, STD, XYZ, PIG, BLK, STD 1 SECURITY, LED RED, FLASH GRN, BZR ON, IPM OFF, KPF-4-BIT, 32 BIT\"],[\"4505-104-10\",\"E        XYZ-10728\",\"LBL, PROD, MULTICLASS SE XYZ40, REV D XYZ\"],[\"4505-105-10\",\"D        XYZ-10850\",\"LBL, XYZ SIDE SHPNG, MULTIXYZ SE XYZ40, REV D XYZ\"],[\"XYZ-GRPC-003N\",\"B        XYZ-11880\",\"CFG PFL, LF STD, HF XYZ\\/SIO\\/XYZ, XYZG, LED RED, FLXYZ GRN, BZR ON, CSN 34-BIT LXYZ, KPF, BXYZRD 1 KEY, NO PAR, 4-BIT MSG, IPM OFF\"]]"

Now the code i am using is:

var retVal = JsonConvert.DeserializeObject<List<string>>(string);

Here string is the one shown above.

And am getting the exception:

Error reading string. Unexpected token: StartArray. Path '[0]', line 1, position 2.

Why am i getting this exception? I'm pretty new to JSON.

Upvotes: 1

Views: 237

Answers (2)

rraszewski
rraszewski

Reputation: 1145

Look here and after that try with

string str = "[[\"XYZ40E\",\"D        XYZ-12572\",\"XYZ, XYZ HARDWARE END ITEM, XYZ40 (REV D) IXYZ SE KPD\"],[\"5.001.0.045\",\"M        XYZ-14280\",\"PROGRAMMING AND CONFIGURING IXYZ SE XYZ\"],[\"222TTEK0000\",\"A        XYZ-14631\",\"XYZ, XYZ40, MULTIXYZ, SE REV D, XYZ, STD XYZ, STD, XYZ, PIG, BLK, STD 1 SECURITY, LED RED, FLASH GRN, BZR ON, IPM OFF, KPF-4-BIT, 32 BIT\"],[\"4505-104-10\",\"E        XYZ-10728\",\"LBL, PROD, MULTICLASS SE XYZ40, REV D XYZ\"],[\"4505-105-10\",\"D        XYZ-10850\",\"LBL, XYZ SIDE SHPNG, MULTIXYZ SE XYZ40, REV D XYZ\"],[\"XYZ-GRPC-003N\",\"B        XYZ-11880\",\"CFG PFL, LF STD, HF XYZ\\/SIO\\/XYZ, XYZG, LED RED, FLXYZ GRN, BZR ON, CSN 34-BIT LXYZ, KPF, BXYZRD 1 KEY, NO PAR, 4-BIT MSG, IPM OFF\"]]"
var retVal = JsonConvert.DeserializeObject<List<List<string>>>(str);

Upvotes: 0

Jeroen Vannevel
Jeroen Vannevel

Reputation: 44439

Because your model is of type List<List<string>>.

enter image description here

Upvotes: 5

Related Questions