user3251123
user3251123

Reputation: 67

Hi, I need help parse through a JSON file in Java

I am trying to parse through a JSON file using the library JSON simple. The first two string are good. However, when I try to parse through object social I get facebook: null, Pinterest : null, and rss: null. How do I parse through my second object?

Here is my JSON file

{
    "blogURL": "www.sheriyBegin",
    "twitter": "http://twitter.com/Sherily",
    "social": {
        "facebook": "http://facebook.com/Sherily",
        "pinterest": "https://www.pinterest.com/Sherily/Sherily-articles",
        "rss": "http://feeds.feedburner.com/Sherily"
    }
}

Here is the code I wrote

package javaugh;

import java.io.FileReader;

import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;


public class JavaUgh {


    public static void main(String[] args)throws Exception{
        JSONParser parser = new JSONParser();

        Object obj = parser.parse(new FileReader("C:\\Users\\HP\\Desktop\\Research\\file2.txt"));
        JSONObject jsonObject = (JSONObject) obj;

        String blog = (String)jsonObject.get("blogURL");
        String twitter = (String)jsonObject.get("twitter"); 

        JSONObject jsonObject2 = (JSONObject) obj;
        String face = (String)jsonObject2.get("facebook");
        String pin = (String)jsonObject2.get("pinterest"); 
        String rss = (String)jsonObject2.get("rss"); 



        System.out.println("Blog: "+ blog);
        System.out.println("Twitter Page : " + twitter);
        System.out.println("Socail:"); 
        System.out.println("Facebook Page : " + face);
        System.out.println("Pintersect: " + pin);
        System.out.println("Rss : " + rss);


    }

}

Output:

Blog: www.sheriyBegin
Twitter Page : http://twitter.com/Sherily
Socail:
Facebook Page : null
Pintersect: null
Rss : null

Upvotes: 0

Views: 89

Answers (2)

WangWeiDang
WangWeiDang

Reputation: 1

 JSONObject social = (JSONObject) jsonObject.get("social");
 String face = (String)social.get("facebook");
 String pin = (String)social.get("pinterest"); 
 String rss = (String)social.get("rss"); 

Upvotes: 0

Omar Albelbaisy
Omar Albelbaisy

Reputation: 827

You should obtain the second json object from the first one, not by creating a new reference to the first one.

JSONObject jsonObject2 = (JSONObject) jsonObject.get("social");

Upvotes: 1

Related Questions