0

Excuse me, I am a Rookie in C#.
I have a txt file like this

{"ID":1,"ScrewDiameter":28.0,"InjectionStroke":139.7,"InjectionVolume":86.0,"InjectionPressure":1857.0,"InjectionRate":62.0,"ClampForce":55.0,"MinMoldHeight":180.0,"MaxStroke":380.0,"InjectionSpeed":100.0,"CreateDate":null}
{"ID":2,"ScrewDiameter":36.0,"InjectionStroke":140.0,"InjectionVolume":143.0,"InjectionPressure":1842.0,"InjectionRate":90.0,"ClampForce":85.0,"MinMoldHeight":200.0,"MaxStroke":450.0,"InjectionSpeed":100.0,"CreateDate":null}

I want to get two data to show

but it shows

Newtonsoft.Json.JsonReaderException: Unexpected character encountered while parsing value: <. Path '', line 0, position 0.


於 Newtonsoft.Json.JsonTextReader.ParseValue()
於 Newtonsoft.Json.JsonTextReader.ReadInternal()
於 Newtonsoft.Json.JsonTextReader.Read()
於 Newtonsoft.Json.Serialization.JsonSerializerInternalReader.ReadForType(JsonReader reader, JsonContract contract, Boolean hasConverter)
於 Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
於 Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
於 Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
於 Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings)
於 Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value)
於 WindowsFormsAppgetData.Form1.ReadFromJsonFile[machine2](String filePath) 
於 C:\Users\Shih-Hao.Su\source\repos\WindowsFormsAppgetData\WindowsFormsAppgetData\Form1.cs: 行 50

'[13104] WindowsFormsAppgetData.exe' 程式以返回碼 -1 (0xffffffff) 結束。

I use this example

json

How to save/restore serializable object to/from file?

and change append = true

I expected results like

"ID":1,"ScrewDiameter":28.0,"InjectionStroke":139.7,"InjectionVolume":86.0,"InjectionPressure":1857.0,"InjectionRate":62.0,"ClampForce":55.0,"MinMoldHeight":180.0,"MaxStroke":380.0,"InjectionSpeed":100.0,"CreateDate":null
"ID":2,"ScrewDiameter":36.0,"InjectionStroke":140.0,"InjectionVolume":143.0,"InjectionPressure":1842.0,"InjectionRate":90.0,"ClampForce":85.0,"MinMoldHeight":200.0,"MaxStroke":450.0,"InjectionSpeed":100.0,"CreateDate":null 
Brian Rogers
  • 125,747
  • 31
  • 299
  • 300
xeroxion
  • 15
  • 5

1 Answers1

0

1) Create a file, I named it "json.json"

2) Put this array inside:

[{"ID":1,"ScrewDiameter":28.0,"InjectionStroke":139.7,"InjectionVolume":86.0,"InjectionPressure":1857.0,"InjectionRate":62.0,"ClampForce":55.0,"MinMoldHeight":180.0,"MaxStroke":380.0,"InjectionSpeed":100.0,"CreateDate":null},{"ID":2,"ScrewDiameter":36.0,"InjectionStroke":140.0,"InjectionVolume":143.0,"InjectionPressure":1842.0,"InjectionRate":90.0,"ClampForce":85.0,"MinMoldHeight":200.0,"MaxStroke":450.0,"InjectionSpeed":100.0,"CreateDate":null}]

3) Use this code:

List<dynamic> objs = JsonConvert.DeserializeObject<List<dynamic>>(File.ReadAllText("json.json"));
Marco Salerno
  • 5,131
  • 2
  • 12
  • 32
  • thank you.but it shows Newtonsoft.Json.JsonReaderException HResult=0x80131500 Message=Unexpected character encountered while parsing value: <. Path '', line 0, position 0. – xeroxion Apr 08 '19 at 09:06
  • 1
    If you follow my answer, it can't happen, if you get this error, it means you did it differently. – Marco Salerno Apr 08 '19 at 09:13
  • Check your input file here, it looks like whatever is being loaded starts with a '<', perhaps it is XML not JSON? – Kyle Apr 08 '19 at 09:25