Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by IMTRIGGERHAPPY9 · Aug 27, 2013 at 05:22 PM · coroutinewwwjson

Using MiniJSON

Hello all, so I am trying to get some data from wikipedia using a www call to their api. I am running into trouble when i get the returned json data. I have no clue how to handle it. So here is what I currently have

 IEnumerator RequestURL(string url){
         WWW www = new WWW(url);
         
         float elapsedTime = 0.0f;
         while (!www.isDone) {
               elapsedTime += Time.deltaTime;   
               if (elapsedTime >= 10.0f) break;
               yield return null;  
         }
         if (!www.isDone || !string.IsNullOrEmpty(www.error)) {
               print("Error: " + www.error);
               yield break;
         }
          jsonResponse = www.text;
         
         print(jsonResponse);
         
         Dictionary<string,object> search = Json.Deserialize(jsonResponse) as Dictionary<string,object>;
         
     }

so how would I then reference my data when it is formatted like this:

["Search value",["search value received", "search value received 2" ]]

from my understanding of json the search value isn't paired with the values received. The values received are a keyless array? I am so confused and could use a little help?

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image
1

Answer by DannyB · Aug 28, 2013 at 03:39 PM

I believe MiniJSON was not designed to handle any JSON, but rather to serialize/deserialize Dictionary<string, object>.

The JSON string you mentioned, is not built like that and MiniJSON will return null if you try to parse it. Your JSON string is an array, first element is a string, and a second element is a an array of strings.

Here is an example of a JSON string that does work with MiniJSON, just so you know how to reference elements in a MiniJSON dictionary:

 var jsonString = "{\"Search value\":[\"search value received\", \"search value received 2\" ]}";
 var dict = Json.Deserialize(jsonString) as Dictionary<string,object>;
 var result = (List<object>)dict["Search value"];
 Debug.Log(result[0]);

Bottom line, as far as I can tell:
If you want to parse an external JSON that you have no control over its format, MiniJSON will not help you.

If you want to use JSON as means of serializing and deserializing some of your own data, MiniJSON will be just fine.

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

16 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Getting strings from WWW 0 Answers

Ios problem with www class 2 Answers

JSON Error : ArgumentException: JSON must represent an object type. 1 Answer

how to find if WWW Post Request is succesful? 2 Answers

JsonUtility.FromJson cannot convert object from rest call 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges