Unable to parse JSON with multiple JObjects










-2















I am having a string in the following format. I want to assign each JSON within the projects to a separate JObject. When I am trying to parse it and assign accordingly, I am unable to achieve it. How can I parse it?



 
"projects": [

"sno": "1",
"project_name": "Abs",
"project_Status": "Live"
,

"sno": "2",
"project_name": "Cgi",
"project_Status": "Live"

]



I have tried the following code;



using (StreamReader streamReader = new StreamReader(Path.Combine(Path.GetTempPath(), "sample.json")))
using (JsonTextReader reader = new JsonTextReader(streamReader))

var serializer = new JsonSerializer();
while (reader.Read())

if (reader.TokenType == JsonToken.StartObject)

JObject jsonPayload = JObject.Load(reader);
jsonProfile = jsonPayload.ToString();
JObject json = JObject.Parse(jsonProfile);












share|improve this question
























  • @dbc Updated my question with the code I have tried

    – Harry
    Nov 13 '18 at 3:44











  • This question seems like a duplicate of your question from 16 hours ago except with only one JSON format instead of two. Did the answer to that one not help you?

    – Brian Rogers
    Nov 13 '18 at 4:10















-2















I am having a string in the following format. I want to assign each JSON within the projects to a separate JObject. When I am trying to parse it and assign accordingly, I am unable to achieve it. How can I parse it?



 
"projects": [

"sno": "1",
"project_name": "Abs",
"project_Status": "Live"
,

"sno": "2",
"project_name": "Cgi",
"project_Status": "Live"

]



I have tried the following code;



using (StreamReader streamReader = new StreamReader(Path.Combine(Path.GetTempPath(), "sample.json")))
using (JsonTextReader reader = new JsonTextReader(streamReader))

var serializer = new JsonSerializer();
while (reader.Read())

if (reader.TokenType == JsonToken.StartObject)

JObject jsonPayload = JObject.Load(reader);
jsonProfile = jsonPayload.ToString();
JObject json = JObject.Parse(jsonProfile);












share|improve this question
























  • @dbc Updated my question with the code I have tried

    – Harry
    Nov 13 '18 at 3:44











  • This question seems like a duplicate of your question from 16 hours ago except with only one JSON format instead of two. Did the answer to that one not help you?

    – Brian Rogers
    Nov 13 '18 at 4:10













-2












-2








-2








I am having a string in the following format. I want to assign each JSON within the projects to a separate JObject. When I am trying to parse it and assign accordingly, I am unable to achieve it. How can I parse it?



 
"projects": [

"sno": "1",
"project_name": "Abs",
"project_Status": "Live"
,

"sno": "2",
"project_name": "Cgi",
"project_Status": "Live"

]



I have tried the following code;



using (StreamReader streamReader = new StreamReader(Path.Combine(Path.GetTempPath(), "sample.json")))
using (JsonTextReader reader = new JsonTextReader(streamReader))

var serializer = new JsonSerializer();
while (reader.Read())

if (reader.TokenType == JsonToken.StartObject)

JObject jsonPayload = JObject.Load(reader);
jsonProfile = jsonPayload.ToString();
JObject json = JObject.Parse(jsonProfile);












share|improve this question
















I am having a string in the following format. I want to assign each JSON within the projects to a separate JObject. When I am trying to parse it and assign accordingly, I am unable to achieve it. How can I parse it?



 
"projects": [

"sno": "1",
"project_name": "Abs",
"project_Status": "Live"
,

"sno": "2",
"project_name": "Cgi",
"project_Status": "Live"

]



I have tried the following code;



using (StreamReader streamReader = new StreamReader(Path.Combine(Path.GetTempPath(), "sample.json")))
using (JsonTextReader reader = new JsonTextReader(streamReader))

var serializer = new JsonSerializer();
while (reader.Read())

if (reader.TokenType == JsonToken.StartObject)

JObject jsonPayload = JObject.Load(reader);
jsonProfile = jsonPayload.ToString();
JObject json = JObject.Parse(jsonProfile);









c# .net json json.net






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 13 '18 at 3:56









Tetsuya Yamamoto

14.8k42040




14.8k42040










asked Nov 13 '18 at 3:41









HarryHarry

207




207












  • @dbc Updated my question with the code I have tried

    – Harry
    Nov 13 '18 at 3:44











  • This question seems like a duplicate of your question from 16 hours ago except with only one JSON format instead of two. Did the answer to that one not help you?

    – Brian Rogers
    Nov 13 '18 at 4:10

















  • @dbc Updated my question with the code I have tried

    – Harry
    Nov 13 '18 at 3:44











  • This question seems like a duplicate of your question from 16 hours ago except with only one JSON format instead of two. Did the answer to that one not help you?

    – Brian Rogers
    Nov 13 '18 at 4:10
















@dbc Updated my question with the code I have tried

– Harry
Nov 13 '18 at 3:44





@dbc Updated my question with the code I have tried

– Harry
Nov 13 '18 at 3:44













This question seems like a duplicate of your question from 16 hours ago except with only one JSON format instead of two. Did the answer to that one not help you?

– Brian Rogers
Nov 13 '18 at 4:10





This question seems like a duplicate of your question from 16 hours ago except with only one JSON format instead of two. Did the answer to that one not help you?

– Brian Rogers
Nov 13 '18 at 4:10












1 Answer
1






active

oldest

votes


















0














you can use DeserializeAnonymousType as a simpler solution to parse json.



var definition = new

projects = new
new
sno="1",
project_name= "Abs",
project_Status= "Live"


;

string json1 = @"
'projects': [

'sno': '1',
'project_name': 'Abs',
'project_Status': 'Live'
,

'sno': '2',
'project_name': 'Cgi',
'project_Status': 'Live'

]
";
var projects = JsonConvert.DeserializeAnonymousType(json1, definition);


but if you do want to use strong type, you'd better to use JsonProperty



public class Project

[JsonProperty("sno")]
public string Sno get; set;

[JsonProperty("project_name")]
public string ProjectName get; set;

[JsonProperty("project_Status")]
public string ProjectStatus get; set;


public class JsonModel

[JsonProperty("Projects")]
public List<Project> projects get; set;


JsonConvert.DeserializeObject<JsonModel>(json_Data);





share|improve this answer






















    Your Answer






    StackExchange.ifUsing("editor", function ()
    StackExchange.using("externalEditor", function ()
    StackExchange.using("snippets", function ()
    StackExchange.snippets.init();
    );
    );
    , "code-snippets");

    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "1"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53273454%2funable-to-parse-json-with-multiple-jobjects%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    you can use DeserializeAnonymousType as a simpler solution to parse json.



    var definition = new

    projects = new
    new
    sno="1",
    project_name= "Abs",
    project_Status= "Live"


    ;

    string json1 = @"
    'projects': [

    'sno': '1',
    'project_name': 'Abs',
    'project_Status': 'Live'
    ,

    'sno': '2',
    'project_name': 'Cgi',
    'project_Status': 'Live'

    ]
    ";
    var projects = JsonConvert.DeserializeAnonymousType(json1, definition);


    but if you do want to use strong type, you'd better to use JsonProperty



    public class Project

    [JsonProperty("sno")]
    public string Sno get; set;

    [JsonProperty("project_name")]
    public string ProjectName get; set;

    [JsonProperty("project_Status")]
    public string ProjectStatus get; set;


    public class JsonModel

    [JsonProperty("Projects")]
    public List<Project> projects get; set;


    JsonConvert.DeserializeObject<JsonModel>(json_Data);





    share|improve this answer



























      0














      you can use DeserializeAnonymousType as a simpler solution to parse json.



      var definition = new

      projects = new
      new
      sno="1",
      project_name= "Abs",
      project_Status= "Live"


      ;

      string json1 = @"
      'projects': [

      'sno': '1',
      'project_name': 'Abs',
      'project_Status': 'Live'
      ,

      'sno': '2',
      'project_name': 'Cgi',
      'project_Status': 'Live'

      ]
      ";
      var projects = JsonConvert.DeserializeAnonymousType(json1, definition);


      but if you do want to use strong type, you'd better to use JsonProperty



      public class Project

      [JsonProperty("sno")]
      public string Sno get; set;

      [JsonProperty("project_name")]
      public string ProjectName get; set;

      [JsonProperty("project_Status")]
      public string ProjectStatus get; set;


      public class JsonModel

      [JsonProperty("Projects")]
      public List<Project> projects get; set;


      JsonConvert.DeserializeObject<JsonModel>(json_Data);





      share|improve this answer

























        0












        0








        0







        you can use DeserializeAnonymousType as a simpler solution to parse json.



        var definition = new

        projects = new
        new
        sno="1",
        project_name= "Abs",
        project_Status= "Live"


        ;

        string json1 = @"
        'projects': [

        'sno': '1',
        'project_name': 'Abs',
        'project_Status': 'Live'
        ,

        'sno': '2',
        'project_name': 'Cgi',
        'project_Status': 'Live'

        ]
        ";
        var projects = JsonConvert.DeserializeAnonymousType(json1, definition);


        but if you do want to use strong type, you'd better to use JsonProperty



        public class Project

        [JsonProperty("sno")]
        public string Sno get; set;

        [JsonProperty("project_name")]
        public string ProjectName get; set;

        [JsonProperty("project_Status")]
        public string ProjectStatus get; set;


        public class JsonModel

        [JsonProperty("Projects")]
        public List<Project> projects get; set;


        JsonConvert.DeserializeObject<JsonModel>(json_Data);





        share|improve this answer













        you can use DeserializeAnonymousType as a simpler solution to parse json.



        var definition = new

        projects = new
        new
        sno="1",
        project_name= "Abs",
        project_Status= "Live"


        ;

        string json1 = @"
        'projects': [

        'sno': '1',
        'project_name': 'Abs',
        'project_Status': 'Live'
        ,

        'sno': '2',
        'project_name': 'Cgi',
        'project_Status': 'Live'

        ]
        ";
        var projects = JsonConvert.DeserializeAnonymousType(json1, definition);


        but if you do want to use strong type, you'd better to use JsonProperty



        public class Project

        [JsonProperty("sno")]
        public string Sno get; set;

        [JsonProperty("project_name")]
        public string ProjectName get; set;

        [JsonProperty("project_Status")]
        public string ProjectStatus get; set;


        public class JsonModel

        [JsonProperty("Projects")]
        public List<Project> projects get; set;


        JsonConvert.DeserializeObject<JsonModel>(json_Data);






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 13 '18 at 4:03









        DongdongDongdong

        806511




        806511



























            draft saved

            draft discarded
















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53273454%2funable-to-parse-json-with-multiple-jobjects%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            這個網誌中的熱門文章

            Barbados

            How to read a connectionString WITH PROVIDER in .NET Core?

            Node.js Script on GitHub Pages or Amazon S3